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.
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"> <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-sdk android:minSdkVersion="21"/> <uses-feature android:glEsVersion="0x00030001" /> </manifest>
vr_onlymeta data tag should be added for VR mode detection.
configChangesare 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.
android:resizeableActivityis only required when targeting API level 24 or greater.
minSdkVersionis set to API level 21. This ensures that the app will run on all supported mobile devices.
noHistoryattribute 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
headtrackingin 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
android:required="true"are the only ones that will support and require v2 signing for upload to dashboard.
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
compileSdkVersion by device:
|Oculus Quest and Oculus Go||21||25+||26+|
Applications submission requirements may require additional adjustments to the manifest. Please refer to Application Manifests for Release Versions in our Publishing Guide.