Android XR supports OpenXR through the OpenXR 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. If you are looking to build directly on the OpenXR APIs, you can find the required header files in the jetpack-xr-natives repository.
Android XR Vendor Extensions
Extension Name |
Description |
|---|---|
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 |
|
Allows the application to persist, retrieve, and unpersist anchors on the current device, across applications and device sessions. This extension requires |
|
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. Don't use this extension for other eye tracking purposes. For interaction, |
|
Allows the application to get weights of blend shapes and render facial expressions in XR experiences. This extension requires |
|
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 |
|
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 |
|
Provides enabled, initializing, or disabled states for the passthrough camera. |
|
This extension allows the application to perform raycasts against trackables in the environment. This extension requires |
|
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 |
|
Provides support for tracking physical objects such as keyboard and mouse in a scene. This extension requires |
Other Supported Extensions
The following additional extensions are also supported. Information is located on external sites.
XR_EXT_debug_utilsXR_EXT_dpad_bindingXR_EXT_eye_gaze_interaction*XR_EXT_hand_tracking*XR_EXT_hand_interactionXR_EXT_palm_poseXR_EXT_performance_settingsXR_EXT_uuidXR_FB_composition_layer_depth_testXR_FB_display_refresh_rateXR_FB_foveationXR_FB_foveation_configurationXR_FB_foveation_vulkanXR_FB_hand_tracking_aim*XR_FB_space_warpXR_KHR_android_create_instanceXR_KHR_android_surface_swapchainXR_KHR_android_thread_settingsXR_KHR_binding_modificationXR_KHR_composition_layer_color_scale_biasXR_KHR_composition_layer_cubeXR_KHR_composition_layer_cylinderXR_KHR_composition_layer_depthXR_KHR_composition_layer_equirect2XR_KHR_convert_timespec_timeXR_KHR_loader_initXR_KHR_loader_init_androidXR_KHR_opengl_es_enableXR_KHR_swapchain_usage_input_attachment_bitXR_KHR_vulkan_enable2XR_META_vulkan_swapchain_create_infoXR_MND_headless
OpenXR™ and the OpenXR logo are trademarks owned by The Khronos Group Inc. and are registered as a trademark in China, the European Union, Japan and the United Kingdom.