Build with supported OpenXR extensions

Android XR supports the Open XR 1.1 specification and a long list of third party vendor extensions. Using these extensions offers you that familiar experience when developing for XR. Some of these capabilities require Android runtime permissions.

Android XR Vendor Extensions

Extension Name

Description

XR_ANDROID_avatar_eyes

Allows the application to obtain the position and orientation of the user's eyes, which is designed to make eye pose and status representation for avatars more realistic. This extension should not be used for other eye tracking purposes. For interaction, XR_EXT_eye_gaze_interaction should be used. This extension requires android.permission.EYE_TRACKING.

XR_ANDROID_composition_layer_passthrough_mesh

Allows the app to project passthrough textures onto arbitrary geometry through an additional composition layer. This extension requires android.permission.SCENE_UNDERSTANDING.

XR_ANDROID_depth_texture

Exposes raw and smooth depth for occlusion, hit tests, and other specific tasks that make use of accurate scene geometry, such as counterfeit face detection. Provides a low resolution depth texture and confidence of a scene from the current camera/eye poses. This extension requires android.permission.SCENE_UNDERSTANDING.

XR_ANDROID_device_anchor_persistence

Allows the application to persist, retrieve, and unpersist anchors on the current device, across applications and device sessions. This extension requires android.permission.SCENE_UNDERSTANDING.

XR_ANDROID_face_tracking

Allows the application to get weights of blend shapes and render facial expressions in XR experiences. This extension requires android.permission.FACE_TRACKING.

XR_ANDROID_hand_mesh

Enables hand tracking inputs represented as a dynamic hand mesh. This extension is intended to provide vertex and index buffers for the mesh of a personalized representation of the user's hands. For tracking hand joints XR_EXT_hand_tracking such be used and for interactions XR_EXT_hand_interaction such be used. This extension requires android.permission.HAND_TRACKING.

XR_ANDROID_light_estimation

Estimates the environmental lighting (including spherical harmonics) of a user's current environment. This extension allows the application to request data representing the lighting of the real-world environment around the headset. This information can be used when rendering virtual objects to light them under the same conditions as the scene they're placed in. This extension requires android.permission.SCENE_UNDERSTANDING.

XR_ANDROID_mouse_interaction

This extension introduces a new interaction profile specifically designed for mouse devices to input through the OpenXR action system. Allows for commonly used action poses for user mouse profiles, including both mouse devices and trackpad devices. This is designed for interacting with objects through a mouse pointer in 3D space. For example, using a virtual laser pointer to aim at a virtual button on the wall is an interaction suited to the "aim" pose.

XR_ANDROID_passthrough_camera_state

Provides enabled, initializing, or disabled states for the passthrough camera.

XR_ANDROID_performance_metrics

This extension provides APIs to enumerate and query various performance metrics counters of the current XR device, compositor and XR application.

XR_ANDROID_raycast

This extension allows the application to perform raycasts against trackables in the environment. This extension requires android.permission.SCENE_UNDERSTANDING.

XR_ANDROID_trackables

This extension allows the application to access trackables such as planes from the physical environment, and create anchors attached to a trackable. This extension requires android.permission.SCENE_UNDERSTANDING.

XR_ANDROID_trackables_object

Provides support for tracking physical objects such as keyboard and mouse in a scene. This extension requires android.permission.SCENE_UNDERSTANDING.

XR_ANDROID_unbounded_reference_space

Provides an unbounded reference space that can be used to build better scene understanding over time. This reference space enables the viewer to move freely through a complex environment, often many meters from where they started, while always optimizing for coordinate system stability near the viewer.

Other Supported Extensions

The following additional extensions are also supported. Information is located on external sites.