Unity OpenXR: Meta
Unity OpenXR: Meta enables Meta Quest device support for your AR Foundation projects and provides a C# interface for Meta's OpenXR runtime. This package depends on both AR Foundation and the OpenXR Plug-in.
Installation
Unity OpenXR: Meta is an official Unity package available from the Package Manager. To understand how to install a package via the Package Manager, refer to Install a UPM package from a registry.
Requirements
To use Unity OpenXR: Meta 2.0, your project must meet the following requirements:
- Unity 6 (6000.0)
- AR Foundation 6.0.1 or newer
- OpenXR Plug-in 1.10.0 or newer
The Package Manager will automatically install these dependencies if you don't already have them installed.
Note
You can visit the Unity Forum for more information on the Unity 6 New Naming Convention.
Get started
To enable the features in this package, go to Project Settings > XR Plug-in Management > OpenXR > OpenXR Feature Groups and enable the Meta Quest feature group as shown below:
The Meta Quest OpenXR feature group, shown with all features enabled
Important
To use any feature in this package, you must enable the corresponding OpenXR Feature in the Meta Quest feature group. Otherwise, your app cannot access these features.
Setup instructions
Refer to Device setup and Project setup, respectively, for more detailed information about how to set up your Meta Quest device and Unity project to use this package.
Features
This package defines the following OpenXR Features:
Feature | Description | |
Display Utilities | Get the supported display refresh rates for the device and request a display refresh rate. | |
AR Features | AR Features implement AR Foundation interfaces. | |
Session | Enable, disable, and configure AR on the target platform. | |
Camera | Render images from device cameras and perform light estimation. | |
Planes | Use Scene Model data to track flat surfaces. | |
Bounding boxes | Use Scene Model data to track bounding boxes of 3D objects. | |
Anchors | Track arbitrary points in space. | |
Raycasts | Cast rays against tracked items. | |
Meshing | Generate meshes of the environment. |
Unsupported AR features
This package does not implement the following AR features:
Feature | Description |
---|---|
Image tracking | Detect and track 2D images. |
Object tracking | Detect and track 3D objects. |
Face tracking | Detect and track human faces. |
Body tracking | Detect and track a human body. |
Point clouds | Detect and track feature points. |
Environment probes | Generate cubemaps of the environment. |
Occlusion | Occlude AR content with physical objects and perform human segmentation. |
Participants | Track other devices in a shared AR session. |
A primer on OpenXR
OpenXR is an open-source standard that defines an interface between XR apps and platform runtimes. The OpenXR specification contains two categories of features:
- Core features: present on every platform
- Extensions: optional and may not be implemented by some platforms.
Unity's OpenXR Plug-in integrates core features, while this package integrates Meta-specific vendor extensions. Refer to Architecture for a full list of OpenXR extensions that this package uses.