Android Manifest Settings

Important

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.


We're no longer accepting submission of 32-bit Oculus Quest apps. Any new or updated Oculus Quest application needs to be 64-bit. Please contact Oculus if you are unable to comply with this policy. Oculus Go and Gear VR apps will not be affected by this change.

Configure your manifest with the necessary VR settings as shown in the following example manifest segment.

Note: These manifest requirements are intended for development and differ from our submission requirements. Before submitting your application, please be sure to follow the manifest requirements described by our Publishing Guide.

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="<packagename>"  
android:versionCode="1" android:versionName="1.0" android:installLocation="auto">
<application>
<meta-data android:name="com.samsung.android.vr.application.mode" android:value="vr_only"/>
<activity android:screenOrientation="landscape"
     android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
     android:configChanges="density|keyboard|keyboardHidden|navigation|orientation|screenLayout|screenSize|uiMode"
     android:launchMode="singleTask"
     android:resizeableActivity="false">
</activity>
</application>
<uses-feature android:name="android.hardware.vr.headtracking" android:required="true" android:version="1" />
<uses-feature android:glEsVersion="0x00030001" />
</manifest>
  • Replace “<packagename>” with your actual package name, such as “com.oculus.cinema”.
  • The Android theme should be set to the solid black theme for comfort during application transitioning: Theme.Black.NoTitleBar.Fullscreen
  • The vr_only meta data tag should be added for VR mode detection.
  • The required screen orientation is landscape: android:screenOrientation="landscape".
  • It is recommended that your configChanges are as follows: android:configChanges="density|keyboard|keyboardHidden|navigation|orientation|screenLayout|screenSize|uiMode". Note that the density config change is only required when targeting API level 24 or greater.
  • Setting android:resizeableActivity is only required when targeting API level 24 or greater.
  • Do not add the noHistory attribute to your manifest.
  • <uses-feature android:name="android.hardware.vr.headtracking" android:required="true" android:version="1" /> is required for v2 signing, which is required for store review for Oculus Quest apps. For apps that target Oculus Quest and Oculus Go / GearVR with the same APK, v1 signing must instead be used for GearVR compatibility. If you are using the same binary for your Oculus Quest and Oculus Go / GearVR application, and have added headtracking in platform-specific code, you can use the above in your manifest but with android:required="false" to mark it as a hybrid application, however it must be signed with schema v1. Applications with headtracking and android:required="true" are the only ones that will support and require v2 signing for upload to dashboard.
  • minSdkVersion, targetSdkVersion, and compileSdkVersion must be set appropriately in the build.gradle file. API versions greater than the minimums specified prevent users from installing your app. For previously released apps, use caution when changing the minSdkVersion as you may break compatibility for users on older versions of Android. For apps that target both Oculus Quest and Oculus Go / Gear with the same APK, minSDKVersion should be the lowest of the values, but the target and compile versions must align with the higher Oculus Quest values. In Android Studio, these values can be set from the Properties and Default Config sections at File > Project Structure > Modules. The following are the accepted values for minSdkVersion, targetSdkVersion and compileSdkVersion by device:

    DeviceminSdkVersiontargetSdkVersioncompileSdkVersion
    Oculus Go / GearVR2121+21+
    Oculus Quest2325+26+
    Oculus Quest and Oculus Go / GearVR2125+26+

Applications submission requirements may require additional adjustments to the manifest. Please refer to Application Manifests for Release Versions in our Publishing Guide.