Distribute and grow
Distribute and grow

Application Manifests for Release Builds

Updated: Oct 31, 2025
To upload your app for review to be added to the Meta Horizon Store, it must have an app manifest (AndroidManifest.xml) that conforms to the specifications described in this topic. Apps whose manifests do not conform will fail the Virtual Reality Check (VRC) VRC.Quest.Packaging.1.
Note that builds that whose manifests do not conform to these specifications may potentially still be uploaded to the Developer Dashboard, or sideloaded and launched on a Meta Quest Device.
This topic contains the following sections:

Manifest specification for release

You can find the general specifications for your app’s AndroidManifest.xml file in Android Manifest Settings in the native development guide.
For release on the Store, your app’s manifest should also meet the following requirements:
  • android:minSdkVersion, android:targetSdkVersion, and android:compileSdkVersion must be set appropriately according to the below table.
    • A lower minSdkVersion indicates support for users on older devices. If your app uses newer features, such as recent mixed reality features, you may need to set minSdkVersion to a higher value.
    • compileSdkVersion is optional in your app manifest; however, if listed, it must be greater than or equal to the android:targetSdkVersion. Having a higher compileSdkVersion than targetSdkVersion ensures you receive up-to-date compiler error messages.
    • Although maxSdkVersion is supported by Android, it is not recommended for Meta Quest devices.
    DeviceminSdkVersiontargetSdkVersioncompileSdkVersion (optional)
    Quest 2
    29-32
    32-34 for immersive, 32-36 for 2D
    32+
    Quest Pro
    29-32
    32-34 for immersive, 32-36 for 2D
    32+
    Quest 3
    29-32
    32-34 for immersive, 32-36 for 2D
    32+
  • installLocation must be set to auto (or 0, which is the same). This accommodates installing apps on SD card external storage. If you have a special circumstance and require a different install location setting, contact the store team using the Get Developer Support form.
  • In the manifest node, the following line must appear:
<uses-feature android:name="android.hardware.vr.headtracking" android:required="true" android:version="1" />
  • In the application node, android:label must contain the name of the app or a reasonable representation of the app name, and the label must be unique on the platform.
  • In the application node, android:debuggable must be set to false, or unset. Your app must be a release version, not a debug version.
  • In the activity node which launches your app, specify the following intent-filter values:
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
- For OpenXR apps, the an additional `category` value is required under `intent-filter`:

```
<category android:name="com.oculus.intent.category.VR" />
```
  • In the activity node which launches your app, android:excludeFromRecents must be set to true.
  • In the application node, there must be a meta-data element that specifies supported Meta Quest devices, such as: <meta-data android:name="com.oculus.supportedDevices" android:value="quest2|quest3|quest3s" />. This element is automatically added when you use Unity and Unreal Engine project settings to configure the target device(s). For more information, see Compatibiity Mode.

Unity app manifests

The Unity Android project settings allow you to set some of the required application manifest options for building a mobile app suitable for the Store. To set the remaining manifest settings, use the features provided by the Meta XR Core SDK for Unity, or edit the manifest directly.
To configure Unity to build Meta Quest Android .apk packages
  1. Open the Unity Editor.
  2. Go to Meta > Tools > Create store-compatible AndroidManifest.xml.
  3. Go to Edit > Project Settings > Player.
  4. Expand the Other Settings properties, and select the Android tab.
  5. Under Identification, enter a package name in the Package Name field. The package name should contain your company name and the app name, and it must be unique among apps uploaded to the Meta Horizon Store. Having a codename for the app in the package name is acceptable, as long as that codename is not also the name of an app on the Meta Horizon Store.
  6. Go to Meta > Tools > Project Setup Tool.
  7. Click “Fix” or “Apply” next to all appropriate items.

Unreal app manifests

Meta recommends using Meta’s fork of Unreal Engine for Unreal development. In addition to fixes that improve Unreal’s performance on Meta Quest devices, the fork includes the Project Setup Tool, which simplifies the process of modifying your app manifest.
To configure Unreal Engine to build Meta Quest Android .apk packages
  1. From the main menu, select Edit then Project Settings.
  2. Under the Platforms header, select Android.
  3. Change Install Location to Auto.
  4. Verify that Remove Oculus Signature Files from Distribution APK is not checked. If it’s selected, please uncheck this box.
  5. Under the Project header, select Packaging.
  6. Verify that For Distribution is checked.
  7. Finally, sign your Android package by following the steps in Unreal Engine’s Signing Projects for Release guide.
  8. Under the Meta XR Tools header, select Meta XR Project Setup Tool.
  9. Click “Fix” or “Apply” next to all appropriate items.
Did you find this page helpful?
Thumbs up icon
Thumbs down icon