We are excited to share that as of OpenXR 1.14, Unity’s OpenXR Meta 2.1 package has achieved outcome parity with the Oculus XR plugin, allowing for migration towards a more cross-platform development experience.
OpenXR is an open standard that provides a common set of APIs for developing XR applications that run across a wide range of AR and VR devices. This reduces the time and cost required to bring experiences to Quest devices from other platforms and vice versa.
As part of outcome parity, key features requested by developers that are now enabled via the OpenXR package include:
- Software Dynamic Resolution which helps developers maintain their application’s frame rate while rendering at an optimal resolution. Dynamic Resolution automatically adjusts the resolution during heavy GPU work and increases image quality when possible.
- Occlusion, which helps developers implement realistic dynamic occlusions so that real-world objects can obscure virtual objects in passthrough.
- Support for Meta Quest Touch Plus Controller via the OpenXR interaction profile.
- Compatibility with Meta Core SDK where developers can take advantage of additional features and assets to create immersive experiences.
- Quest Link support which allows developers to connect to a Windows PC and test their XR experiences on headset while leveraging additional GPU processing capabilities.
Consolidating feature development on OpenXR
Looking ahead, we expect to maintain our current support and feature set for the OculusXR package for supported versions of Unity (Unity 6.x, 2022 LTS), while focusing the development of new features on the OpenXR: Meta package, including features such as:
- Multiview Per-View Viewports (MVPVV), which allows developers to set multiple viewports and scissors per Viewport. This enables the drivers to skip shader invocations (and rendering work) for screen areas outside of the user’s view.
- Shared Spatial Anchors, which allow multiple users to place, persist, and synchronize virtual objects in a shared physical space, enabling collaborative and connected mixed reality experiences across devices.
Getting Started with OpenXR
Supported Versions
- Unity 6000.0.0f1 or newer.
- OpenXR 1.14 or newer (com.unity.xr.openxr)
- OpenXR Meta 2.1 or newer (com.unity.xr.meta-openxr)
Starting a new project
To enable the Unity OpenXR: Meta in your project, follow the steps below:
- Go to Edit > Project Settings… > XR Plug-in Management.
- In the Android tab, under Plug-in Providers, enable OpenXR.
- While still in the Project Settings window, go to XR Plug-in Management > OpenXR.
- In the Android tab, under Enabled Interaction Profiles, add Oculus Touch Controller Profile.
- Under OpenXR Feature Groups, enable the Meta Quest feature group.
To learn more, please refer to our documentation.
Migrating an existing project
- Ensure you are using the latest version of Unity 6.
- Install OpenXR Plugin: Go to the Unity Package Manager, search for the OpenXR Plugin, and install it.
- Configure Your Project Settings: Navigate to Edit > Project Settings > XR Plug-in Management. Select OpenXR for the target platforms you are working on (e.g., Android for Quest).
- Update Interaction Profiles: Replace any Oculus-specific interactions with corresponding OpenXR profiles. This typically involves updating your Input Actions and Controller Models.
For more information please refer to the package changelog. Please leave any feature requests and feedback on our product roadmap here.
