Oculus Go Development

On 6/23/20 Oculus announced plans to sunset Oculus Go. Information about dates and alternatives can be found in the Oculus Go introduction.

Oculus Quest Development

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.

Android Manifest Settings

Configure your Android VR app’s manifest with the necessary VR settings for development as shown in the following 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 at Application Manifests for Release Builds in the Distribute section.

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="<packagename>"
android:versionCode="1" android:versionName="1.0" android:installLocation="auto">
<meta-data android:name="com.samsung.android.vr.application.mode" android:value="vr_only"/>
<activity android:screenOrientation="landscape"
<uses-sdk android:minSdkVersion="21"/>
<uses-feature android:glEsVersion="0x00030001" />
  • 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.
  • The minSdkVersion is set to API level 21. This ensures that the app will run on all supported mobile devices.
  • 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 with the same APK, v1 signing must instead be used. If you are using the same binary for your Oculus Quest and Oculus Go 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 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:

    Oculus Go2121+21+
    Oculus Quest2325+26+
    Oculus Quest and Oculus Go2125+26+

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