Buildalon Upload Meta Quest Build

A GitHub Action for uploading a Meta Quest app to the Meta Quest store.

How to use

workflow

steps:
    # setup ovr platform util
  - uses: buildalon/setup-ovr-platform-util@v1
    # upload meta quest build
  - uses: buildalon/upload-meta-quest-build@v1
    id: upload
    with:
      appId: ${{ secrets.META_APP_ID }}
      appSecret: ${{ secrets.META_APP_SECRET }}
      buildDir: 'path/to/build/folder'
    # use uploaded meta quest build id
  - run: 'echo ${{ steps.upload.build_id }}'

inputs

Oculus Platform Utility docs

NameDescriptionRequiredDefault
ageGroupAge group of the build. This can be TEENS_AND_ADULTS, MIXED_AGES, or CHILDREN. (If not specified, the upload will go into “draft” status, rather than failing). For more information, see Age Group Self-Certification and Youth Requirements.true
appIdSpecifies the ID of your app. Obtained from the API tab of your app in the Oculus Dashboard.true
appSecretSpecifies the app secret. Obtained from the API tab of your app in the Oculus developer dashboard.Must provide appSecret or token
tokenA user token obtained by the get-access-token command or from the API tab of your app in the Oculus developer dashboard.Must provide appSecret or token
apkPathSpecifies the path to the APK to upload.true
obbPathSpecifies the path to the Expansion file (OBB) to upload.false
buildDirSpecifies the path to the directory that contains the build files. If specified, the plugin will look for the APK and OBB files in this directory.false
assetsDirSpecifies the path to the directory with DLCs for this build.false
assetFilesConfigSpecifies the path to the file that configures required assets or associates DLC assets with in-app purchases.false
inheritAssetFilesSpecifies whether to inherit asset files from the previous build.false
releaseChannelSpecifies the release channel for uploading the build. Release channel names are not case-sensitive.falseALPHA
releaseNotesSpecifies the release note text shown to users. Encodes double quotes as \". Encode newlines as \n.false
languagePacksDirThe path to the directory that contains language packs.false
debugSymbolsDirPath to the folder that contains the debug symbol file(s).false
debugSymbolsZipThe path to the debug symbol zip file. If provided this will be used instead of the debugSymbolsDir and will unzip before uploading.false
debugSymbolsPatternA pattern sequence that can match the filenames of all the debug symbol files. An asterisk may be used to indicate a wildcard, for example, *.sym.so.false
excludeAddonsWhether to exclude attaching global shared Add-ons to this build.false
draftSpecifies whether to upload the build as a draft.false
forceForces the upload, even if there are validation errors.false

outputs

  • build_id: The uploaded build id.

© 2026 Virtual Maker Corporation