The site has a new content architecture. We've added the ability to select your development device to show device-specific content. Please read our blog post Oculus Developer Center Update: Device-centric Documentation Architecture for more information.
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.
Oculus Android apps have a stringent set of packaging requirements and any app you upload must be packaged accordingly. The upload validator rejects apps that do not meet these requirements.
Gear VR apps are not supported by current versions of Oculus software. See the following pages for information about supported maintenance environment -
All Android apps must be packaged as APK files and meet the following specifications:
You should break large apps into an APK and an expansion file(s) to improve both the developer and the user experience. For developers:
You can supplement your APK file with one expansion file and one or more generic asset files. Generic asset files can be identified as DLC or as required files, which means they will downloaded at app install time. If you are familiar with Google Play APK expansion files, you should know that Oculus APK expansion file sizes and naming patterns are different. Also, all apps that have expansion and asset files must be uploaded with the Oculus Platform Command Line Utility.
The legacy APK expansion file must meet the following specifications:
Required asset files and DLC have the following guidance
--assets_dirparameter of the command line tool when you upload the app to provide the directory that contains the additional expansion files. For more information about generic asset files and DLC, see Asset Files, DLC and Expansion Files for Mobile Apps.
--asset-files-configparameter, and include a JSON config file that either:
You can upload builds through the Oculus Developer Dashboard web interface or using the Oculus Platform Command Line Utility. The Oculus Platform Command Line Utility uses delta-patching techniques to upload only the portions of your app that have changed, so generally this is faster. If there are any packaging problems with your app, the upload validation routines inform you after uploading your build so that you can correct the issue and try again. For example, you must always update the APK version when you upload a new APK for an existing app. Some apps may not support all Gear VR devices, please see the Managing Supported Devices page for information about managing the devices your app supports. This can be configured anytime after you upload your app.
Prerequisites: Before you can upload an app, you must first create an app page for it in the Oculus Developer Dashboard. For more information, see App Submission and Store Review.
To upload your build through the web interface:
To upload your app through the command line interface:
If users experience a problem with a build, or you need to roll back a build for some reason, you must upload a new build. The Select Build functionality does not work to select an older build for Android apps. This newly uploaded package can contain an APK you previously uploaded, but you must roll forward the version number for the upload tool to accept it.
Expansion files (.obbs) and APKs must be updated together. This means that even if your update contains changes only to the APK or only to the expansion file you must increment the version code for each and upload new versions of them together. The only exception is if you decide to stop providing an expansion file and decide to distribute a single APK. In this scenario, you would upload a new APK but omit the ‘–obb’ parameter.
You can build a single APK that runs on different devices, but there are a few things to be aware of.
For Go/Quest, make sure you use Oculus-supported features only. Your app will be scanned at upload for the following features that are not supported on Go or Quest. If these features are found, you will be required to update your app:
Additionally, your apps are checked for the following: