Develop
Develop
Select your platform

Android Manifest Settings

Updated: Dec 11, 2025
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">
<uses-sdk
     android:minSdkVersion="29"
     android:targetSdkVersion="32" />
<application>
<meta-data
     android:name="com.oculus.supportedDevices"
     android:value="quest2|questpro|quest3|quest3s"/>
<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">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
        <category android:name="com.oculus.intent.category.VR" />
    </intent-filter>
</activity>
</application>
</manifest>
  • Replace <packagename> with your actual package name, such as “com.mycompany.myapplication”.
  • The Android theme should be set to the solid black theme for comfort during application transitioning: Theme.Black.NoTitleBar.Fullscreen
  • 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".
  • 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 Meta Quest apps.
  • minSdkVersion and targetSdkVersion must be set appropriately in the build.gradle file. Increasing minSdkVersion can cause your application to no longer run on older-generation headsets. In Android Studio, these values can be set from the Properties and Default Config sections at File > Project Structure > Modules.
The following table contains the recommended values for minSdkVersion and targetSdkVersion. Setting the optional compileSdkVersion ensures you receive up-to-date compiler error messages.
DeviceminSdkVersiontargetSdkVersioncompileSdkVersion (optional)
Meta Quest 1 (only)
29
29
29
Meta Quest 1/2/Pro/3
29
32
32
Meta Quest 2/Pro/3 (only)
32
32
32
Applications submission requirements may require additional adjustments to the manifest. Please refer to Application Manifests for Release Versions in our Publishing Guide.

Compatibility Mode

Future VR devices might not be compatible with the capabilities your app uses. If the device model of the headset running your app does not appear in the com.oculus.supportedDevices section of your manifest, the device automatically switches to compatibility mode while running your app. When this occurs, your Meta VR device attempts to maximize compatibility with your app, and runtime reports the headset as a previous generation model.
See Compatibility mode for more details about this behavior, and for recommended APIs for determining the model of device your app is currently running on.
When you create apps that target Meta Quest, Quest 2, or Quest Pro, check the device capabilities before using them, or use a runtime method that detects the device that app is runs on. Then, enable additional features to improve the user experience, such as eye tracking for Meta Quest Pro users.

Add Supported Devices to the Manifest

To indicate that an application supports all current devices, the following entry should be added to the Android manifest:
<meta-data android:name="com.oculus.supportedDevices" android:value="quest2|questpro|quest3|quest3s"/>
See Compatibility mode for more details about specifying supported devices.

Check Capabilities Where Possible

Remember that although checking the device type has valid use cases, you should always use capability-based checking where you can.
For example, checking through OpenXR if the device supports eye tracking will provide better support then checking if the device is a Meta Quest Pro.
Did you find this page helpful?
Thumbs up icon
Thumbs down icon