Apps that target Oculus Quest 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.
As of September 15, 2020, new Gear VR apps are no longer accepted in the Oculus Store, and you will no longer be able create new Gear VR apps or mark apps as compatible with Gear VR in the developer dashboard. See the following pages for information about supported the maintenance environment -
Before you can upload your app, you must:
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 (OBB) must meet the following specifications:
Required assets 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 required asset files, see Asset Files for Mobile Apps.
--asset-files-configparameter, and include a JSON config file that either:
You can upload app builds to the Oculus Store with:
Use the following steps to upload your app to the Oculus Developer Dashboard. Note that apps uploaded with the web interface should be less than 200 MB in size.
.apkfile of your build. Note that if you have previously uploaded a build that contains expansion files, you must use the Oculus Platform command-line utility to upload a new build.
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, and the command line utility can handle larger app packages. 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.
Apps uploaded with the utility can be up to 1 GB in size. For apps with expansion files, or larger APKs, you can upload your app with the Oculus Platform Utility. Apps uploaded with this command-line tool can be up to 1 GB in size.
If you are using Unity with the Oculus Asset imported, or Unreal engine, you can access the Oculus Platform tool through UI in the editor. Your app packages should be less than 1 GB in size.
For Unreal, see Upload Apps to the Oculus Store with the Oculus Platform Tool.
For Unity, in the Unity Editor, go to Oculus > Tools, and choose Oculus Platform Tool. Fill out the required information and click the Upload button.
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. Expansion files must be uploaded with the command-line utility.
You can build a single APK that runs on different devices, but there are a few things to be aware of.
For 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 Quest. If these features are found, you will be required to update your app:
Additionally, your apps are checked for the following: