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>
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.
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 / 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
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 / 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
compileSdkVersion by device:
|Oculus Go / GearVR||21||21+||21+|
|Oculus Quest and Oculus Go / GearVR||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.