Compatibility mode
Updated: Apr 8, 2026
Meta ensures that apps developed for current Quest devices have forward compatibility with future generations. All applications built for Quest 2 work on Quest 3 with no changes required.
To support forward compatibility, newer headsets launch in compatibility mode when running older applications that don’t support their feature set.
What is compatibility mode
In compatibility mode, a headset responds to API calls as if it were an older-generation headset. This prevents released applications from getting unexpected results from API calls that developers could not have tested against.
The headset emulates the most recent previously-released headset whose value appears in the app’s com.oculus.supportedDevices manifest entry. For example, when launching an incompatible app, Quest 3 attempts to enter compatibility mode as Quest Pro, then Quest 2, then Quest 1.
What changes in compatibility mode:
GetDeviceType() / GetSystemHeadsetType() calls report the emulated headset- Some API calls return a reduced set of values that support both the physical and emulated headset
What does not change:
- CPU and GPU speeds remain at the physical headset’s levels
- Passthrough visuals remain at the physical headset’s quality
Specifying supported devices
The list of supported devices is determined by the com.oculus.supportedDevices manifest entry:
<meta-data
android:name="com.oculus.supportedDevices"
android:value="quest2|questpro|quest3|quest3s" />
| Headset | supportedDevices value |
|---|
Quest 1 | quest
|
Quest 2 | quest2
|
Quest Pro | questpro
|
Quest 3 | quest3
|
Quest 3S | quest3s
|
In Unity and Unreal, this manifest entry is automatically generated from your project settings. You may need to manually update it if using an older engine version that predates a newer headset release.
If the com.oculus.supportedDevices entry is missing, the headset picks which device to report based on your app’s Android SDK version: SDK 29 reports as Quest 1, SDK 30+ reports as Quest 2.