If you want to upload your app package to the Oculus Store, the app manifest (AndroidManifest.xml
) for your Android app must conform to the Oculus specifications described in this topic.
This topic contains following sections:
Find general requirements for your app’s AndroidManifest.xml
file in Android Manifest Settings in the native development guide.
For release in the Oculus Store, your app’s manifest should also meet the following requirements:
For Quest (v2 signing): <uses-feature android:name="android.hardware.vr.headtracking" android:required="true" android:version="1" />
In the application
node, android:label
must contain the name of the app or a reasonable representation of the app name, and the label must be unique in the Oculus store.
The installLocation
must be set to auto
.
The versionCode
must be greater than the value used in a previous build of this app.
The 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.
Following are the accepted values for minSdkVersion
, targetSdkVersion
and compileSdkVersion
by device:
Device | minSdkVersion | targetSdkVersion | compileSdkVersion |
---|---|---|---|
Quest/Quest 2 | 23 | 25+ | 26+ |
Specify the correct intent-filter
for the MAIN action with the correct categories:
android.intent.category.LAUNCHER
is allowed.For OpenXR apps, you also need to add the Oculus VR category. The following shows an example:
<intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="com.oculus.intent.category.VR" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter>
excludeFromRecents
value should be set to true
.<meta-data android:name="com.oculus.supportedDevices" android:value="quest|quest2" />
. This element is automatically added when you use Unity and Unreal Engine project settings to configure the target device(s).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 using the Get Developer Support form.
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 or edit the manifest directly.
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.
The following VRCs describe the store requirements for app manifests.