The application manifest of your mobile app must conform to our specifications if you want to upload the app to the Oculus Store.
The Unity Android project settings let you set some of the required application manifest options for building a mobile app suitable for the Oculus Store. To set the remaining manifest settings, use the Oculus Utilities for Unity 5 plugin.
The steps below describe how to configure Unity to build Oculus Store-compatible Android .apk packages.
Note: These steps only work for Oculus Utilities for Unity 5 version 1.10 and later.
Unreal Engine ignores the Android project settings options when building mobile apps and instead uses instructions in an XML file to create the application manifest file. This XML requires a small modification to make builds suitable for the Oculus Store.
The steps below describe how to configure Unreal Engine to build Oculus Store-compatible Android .apk packages.
Your AndroidManifest.xml file must meet the specifications outlined in the following documents:
For release:
For Quest and hybrid apps - Enable the headtracking feature per signing requirements of the app. For more information, see Application Signing.
<uses-feature android:name="android.hardware.vr.headtracking" android:required="true" android:version="1" /><uses-feature android:name="android.hardware.vr.headtracking" android:required="false" android:version="1" />installLocation must be set to auto.versionCode must be greater than the value used in a previous build of this app.android:debuggable value must be false. Your app must be a release version, not a debug version.android:minSdkVersion, android:targetSdkVersion, and android:compileSdkVersion must be set appropriately. API versions greater the minimums specified prevent users from installing your app. For previously released app, use caution when changing the minSdkVersion as you may break compatibility for users on older versions of Android. For apps that target both Quest and Go/Gear with the same APK. minSDKVersion should be lower of the values, but the target and compile versions must align with the higher Quest values.
Following are the accepted values for minSdkVersion, targetSdkVersion and compileSdkVersion by device:
| Device | minSdkVersion | targetSdkVersion | compileSdkVersion |
|---|---|---|---|
| Go/Gear | 21 | 21+ | 21+ |
| Quest | 23 | 25+ | 26+ |
intent category for the MAIN action: android.intent.category.INFO, and NOT android.intent.category.LAUNCHER so that your app appears only in Oculus Home and not the device launcher.android.intent.category.LAUNCHER is allowed.excludeFromRecents value be set to true.Note: Apps must specify
installLocation="auto"instead ofinstallLocation="internalOnly"or be rejected by the upload validator. This accommodates installing apps on SD card external storage. If you have a special circumstance and require a different install location setting, contact the store team at submissions@oculus.com.