All Oculus Quest developers MUST PASS the concept review prior to gaining publishing access to the Quest Store and additional resources. Submit a concept document for review as early in your Quest application development cycle as possible. For additional information and context, please see Submitting Your App to the Oculus Quest Store.
The Oculus Platform Command Line Utility lets you upload builds to your release channels much faster than using the Oculus dashboard web interface. It also allows you to incorporate automated uploads into your existing build system.
Compared to using the Oculus Dashboard, the Oculus Platform Command Line Utility uploads builds faster because it analyzes your build and only uploads the parts that have changed since your last upload.
For Mac, you will need to change to access permissions of the tool for it to execute:
cd) to the location of the file.chmod +x ./ovr-platform-util../ovr-platform-util and a command.You may need the App ID, App Secret or Build ID to complete some of the commands.
Find the App ID and App Secret

Note: You must use an admin account to view the app secret. Visit the Members page under Settings for your organization to verify the admin accounts.
Obtain Build ID
You will need a Build ID to download an existing build. You can obtain the build ID two different ways:
OR

The utility supports both Rift and mobile uploads and downloads. Following is a list of commands for the tool:
| Task | Command |
|---|---|
| Upload a Rift build | upload-rift-build |
| Download a Rift build | download-rift-build |
| Clone an existing Rift build | clone-rift-build |
| Add an entitlement check to a Rift executable (.exe) | add-entitlement-check |
| Upload a Quest build | upload-quest-build |
| Download a Quest build | download-quest-build |
| Upload a Go build | upload-mobile-build |
| Download a Go build | download-mobile-build |
| Move build to a different release channel | set-release-channel-build |
| Get the version of the Oculus utility | version |
| Update the Oculus utility | self-update |
| Upload an add-on file | upload-add-on |
For the full syntax and parameter descriptions, see the Oculus Platform Command Line Utility page.
To toggle between the available reference information, click the headings such as upload-rift-build, upload-mobile-build, download-rift-build, and download-mobile-build
This upload example uses the fictitious app “Rabbit Hole” and assumes the following sample parameters:
Note: See Oculus Platform Command Line Utility for the full syntax and parameters list reference.
Simple Rift Upload Example
To upload version 1.1 of Rabbit Hole to the RC release channel, enter:
$ ovr-platform-util upload-rift-build --app-id 10001234 --app-secret 1234abcd -d "C:\Rabbit Hole" -l "bin\badrabbits.exe" -n "Fixes the rabbit spawn bug." -v 1.1 -c rc
Upload with Redistributables Example
If the app requires .NET Framework 3.5 and Visual C++ 2013 x86 redistributable files, enter:
$ ovr-platform-util upload-rift-build --app-id 10001234 --app-secret 1234abcd -d "C:\Rabbit Hole" -l "bin\badrabbits.exe" -n "Fixes the rabbit spawn bug." -v 1.1 -c rc -r "606493776156948, 910524935693407"
2D Mode with Firewall Exception Example
If the app requires a Windows Firewall exception, Windows 10 as a minimum version, and has a 2D mode executable file and argument string of badrabbits2d.exe -force2dfix, enter:
$ ovr-platform-util upload-rift-build --app-id 10001234 --app-secret 1234abcd -d "C:\Rabbit Hole" -l "bin\badrabbits.exe" -n "Fixes the rabbit spawn bug." -v 1.1 -c rc -L badrabbits2d.exe -P "-force2dfix" -f -w "10"
Multi-line Release Note Example
If you have a multi-line release note, enter:
$ ovr-platform-util upload-rift-build --app-id 10001234 --app-secret 1234abcd -d "C:\Rabbit Hole" -l "bin\badrabbits.exe" -n "Carrots now available as in-app purchases.\nBlue rabbits no longer \"glitch\" and get stuck in terrain.\nSpawn sound spatialization adjusted for realism." -v 1.1 -c rc
Rift Download Example
To download the app build with build ID 3141592653589793 to “C:\Pie Thrower”:
$ ovr-platform-util download-rift-build -b 3141592653589793 -d "C:\Pie Thrower"
Exclude Add-ons Example
$ ovr-platform-util
This upload example uses the fictitious app “Rabbit Hole”.
Note: See Oculus Platform Command Line Utility for the full syntax and parameters list reference.
Simple Upload Example (Go and Quest)
The following examples show how to upload Rabbit Hole to the Alpha release channel.
For Go enter:
$ ovr-platform-util upload-mobile-build --app-id 10001234 --app_secret 1234abcd --apk C:\RabbitHole.apk --channel alpha --notes "Fixes the rabbit spawn bug."
For Quest enter:
$ ovr-platform-util upload-quest-build --app-id 10001234 --app_secret 1234abcd --apk C:\RabbitHole.apk --channel alpha --notes "Fixes the rabbit spawn bug."
Multi-line Release Note Example (Go)
For Go, if you have a multi-line release note, enter:
$ ovr-platform-util upload-mobile-build --app-id 10001234 --app-secret 1234abcd --apk C:\RabbitHole.apk --channel alpha --notes "Carrots now available as in-app purchases.\nBlue rabbits no longer \"glitch\" and get stuck in terrain.\nSpawn sound spatialization adjusted for realism."
Expansion File Example (Go)
If you split version 2 of Rabbit Hole into separate APK and APK expansion files (see APK Expansion File Requirements) we specify the full path to the expansion file with --obb. Enter:
$ ovr-platform-util upload-mobile-build --app-id 10001234 --app-secret 1234abcd --apk C:\RabbitHole.apk --obb C:\main.2.com.oculus.rabbits.obb --channel alpha --notes "Split data and code to provide smaller and faster patch updates."
Required Assets Example (Go)
If you have a build with required assets, include a path to the assets and a config file that designates them as required or as IAP. Following is an example for Go:
$ ovr-platform-util upload-mobile-build --app-id 10001234 --app-secret 1234abcd
--apk C:\RabbitHole.apk --assets_dir ~\path\to\assets\ --asset_files_config '{"Asset1.obb": {"required": true}, "Asset2.obb": {"sku": "IAP_SKU"}}'
--channel alpha
Download Example (Go or Quest)
The following examples show how to download the app build with build ID 3141592653589793 to “C:\Pie Thrower”.
For Go, enter:
$ ovr-platform-util download-mobile-build -b 3141592653589793 -d "C:\Pie Thrower"
For Quest enter:
$ ovr-platform-util download-quest-build -b 3141592653589793 -d "C:\Pie Thrower"
Shows the command the release channel for a build from Beta to RC:
$ ovr-platform-util set-release-channel-build --app-id 10001234 --app-secret 1234abcd --source-channel beta --destination-channel rc