Applications may require a minimum version of the Horizon Operating System (HzOS) to launch. This restriction can be added:
Implicitly, by using a feature available only in a newer HzOS version. For example, if your application supports Quest 3, it requires a minimum HzOS version of v56, the first version that supports Quest 3.
Explicitly, by defining a minimum HzOS version in your app’s uses-horizonos-sdk meta-data element. This is useful if your app has implicit dependencies on a specific HzOS version, such as attempting to launch a system package with an intent supported only in a newer HzOS version, or for multiplayer applications that want to ensure all players have the latest security updates.
Determining the HzOS versions used by your app’s users
Some settings and features in your app implicitly require a minimum HzOS version. For example:
In your app’s AndroidManifest.xml file, setting android:minSdkVersion on the uses-sdk element sets the minimum Android SDK API level that your app is compatible with. Your app cannot be distributed or installed onto devices running an Android SDK API level lower than this. See the android:minSdkVersion attribute in the Android documentation for details.
Adding a device to com.oculus.supportedDevices sets the minimum HzOS version to the first version that supports that device.
Using the Android Camera2 API for direct access to camera frames sets the minimum HzOS version to v74.
When multiple features apply, your app requires the highest minimum HzOS version among all relevant features. For example:
Using multiple Platform SDK APIs that were introduced in different HzOS versions requires the highest version among them.
You can also explicitly specify a minimum HzOS version by adding the uses-horizonos-sdk meta-data element to your app’s AndroidManifest.xml file:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:horizonos="http://schemas.horizonos/sdk">
<horizonos:uses-horizonos-sdk
horizonos:minSdkVersion="83"
horizonos:targetSdkVersion="83" />
<!-- rest of your manifest -->
</manifest>
Replace 83 with the minimum HzOS version required by the APIs your app uses.
When you declare a minSdkVersion:
The Meta Horizon Store will only show your app to users on compatible devices
Users on older devices won’t be able to install or update to this version
You can safely call the APIs without error handling for version compatibility
Checking the minimum HzOS version for your app
To check the minimum HzOS version for your app, upload a build to the Developer Dashboard and view the build details in the Distribution > Build page for your app. See Uploading a build to your Developer Dashboard.
The Developer Dashboard shows the reason it selected a specific Minimum OS version for your app as shown in the following screenshots.