# Android XR Extensions for Unity

Reference documentation for the Android XR Extensions for Unity

| ## Pages ||
|---|---|
| [`ARFaceExtensions`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/ARFaceExtensions) | Extensions to AR Foundation's `ARFace`. |
| [`ARFaceManagerExtensions`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/ARFaceManagerExtensions) | Extensions to AR Foundation's `ARFaceManager`. |
| [`ARShareableAnchor`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/ARShareableAnchor) | Represents a shareable anchor tracked by an XR device. |
| [`ARShareableAnchorManager`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/ARShareableAnchorManager) | A trackable manager that enables placing, tracking, saving and loading shareable anchors. |
| [`XRShareableAnchor`](https://developer.android.com/develop/xr/unity/reference/struct/Google/XR/Extensions/ARSubsystems/XRShareableAnchor) | Represents a shareable anchor trackable by the shareable anchor subsystem. |
| [`XRShareableAnchorSubsystem`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/ARSubsystems/XRShareableAnchorSubsystem) | This subsystem provides information regarding shareable anchors. |
| [`XRShareableAnchorSubsystem.Provider`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/ARSubsystems/XRShareableAnchorSubsystem/Provider) | An abstract class to be implemented by providers of this subsystem. |
| [`XRShareableAnchorSubsystemDescriptor`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/ARSubsystems/XRShareableAnchorSubsystemDescriptor) | Indicates the capabilities supported by a provider of the [XRShareableAnchorSubsystem](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/ARSubsystems/XRShareableAnchorSubsystem#classGoogle_1_1XR_1_1Extensions_1_1ARSubsystems_1_1XRShareableAnchorSubsystem). |
| [`XRShareableAnchorSubsystemDescriptor.Cinfo`](https://developer.android.com/develop/xr/unity/reference/struct/Google/XR/Extensions/ARSubsystems/XRShareableAnchorSubsystemDescriptor/Cinfo) | Contains the parameters necessary to construct a new [XRShareableAnchorSubsystemDescriptor](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/ARSubsystems/XRShareableAnchorSubsystemDescriptor#classGoogle_1_1XR_1_1Extensions_1_1ARSubsystems_1_1XRShareableAnchorSubsystemDescriptor) instance. |
| [`ARTrackedImageExtensions`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/ARTrackedImageExtensions) | Extensions to AR Foundation's `ARTrackedImage` class. |
| [`ARTrackedObjectExtensions`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/ARTrackedObjectExtensions) | Extensions to AR Foundation's `ARTrackedObject` class. |
| [`AndroidXREnvironmentProbeSubsystem`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/AndroidXREnvironmentProbeSubsystem) | The Android XR implementation of the `XREnvironmentProbeSubsystem` so it can work seamlessly with `AREnvironmentProbeManager`. |
| [`AndroidXRHumanBodySubsystem`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/AndroidXRHumanBodySubsystem) | The Android XR implementation of the `XRHumanBodySubsystem` so it can work seamlessly with `ARHumanBodyManager`. |
| [`AndroidXRImageTrackingSubsystem`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/AndroidXRImageTrackingSubsystem) | The Android XR implementation of the XRImageTrackingSubsystem so it can work seamlessly with ARTrackedImageManager. |
| [`AndroidXRObjectTrackingSubsystem`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/AndroidXRObjectTrackingSubsystem) | The Android XR implementation of the `XRObjectTrackingSubsystem` so it can work seamlessly with `ARTrackedObjectManager`. |
| [`AndroidXRPermissionExtensions`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/AndroidXRPermissionExtensions) | Helper class for `https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#androidxrpermission`. |
| [`AndroidXRPermissionUtil`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/AndroidXRPermissionUtil) | Utility component to help manage runtime permission requests. |
| [`AndroidXRRuntimeImageLibrary`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/AndroidXRRuntimeImageLibrary) | Constructs a RuntimeReferenceImageLibrary which stores reference images |
| [`AndroidXRSessionSubsystem`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/AndroidXRSessionSubsystem) | The Android XR implementation of the `XRSessionSubsystem` so it can work seamlessly with `ARSession`. |
| [`AndroidXRTrackpadGesturesInteraction`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/AndroidXRTrackpadGesturesInteraction) | This OpenXRInteractionFeature enables the use of Android XR Trackpad Gestures interaction in OpenXR. |
| [`AndroidXRTrackpadGestures`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/AndroidXRTrackpadGesturesInteraction/AndroidXRTrackpadGestures) | An Input device based on Android XR Trackpad Gestures interaction profile. |
| [IXRSpatialSdk](https://developer.android.com/develop/xr/unity/reference/interface/Google/XR/Extensions/IXRSpatialSdk) | The interface for OpenXRFeature to define XR Spatial SDK requirement. |
| [`SampleDebugUtils`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/SampleDebugUtils) | Utilities to debug Android XR samples. |
| [`SpatialBoundingBoxFeature`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/SpatialEntities/SpatialBoundingBoxFeature) | Spatial entity feature to enable AR Foundation Bounding Box support. |
| [`SpatialBoundingBoxSubsystem`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/SpatialEntities/SpatialBoundingBoxSubsystem) | The spatial entity implementation of the XRBoundingBoxSubsystem. |
| [`SpatialShareableAnchorFeature`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/SpatialEntities/SpatialShareableAnchorFeature) | Enables AR Foundation shareable anchor support via OpenXR Spatial Entities extensions. |
| [`SpatialShareableAnchorSubsystem`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/SpatialEntities/SpatialShareableAnchorSubsystem) | The spatial entity implementation of the [XRShareableAnchorSubsystem](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/ARSubsystems/XRShareableAnchorSubsystem#xrshareableanchorsubsystem). |
| [`XRBatteryStateDisplayFeature`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/XRBatteryStateDisplayFeature) | This [XRBatteryStateDisplayFeature](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/XRBatteryStateDisplayFeature#classGoogle_1_1XR_1_1Extensions_1_1XRBatteryStateDisplayFeature) provides a function to query the battery state of input devices. |
| [`XRBodyJointSetUtility`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/XRBodyJointSetUtility) | Utility class for [XRBodyJointSet](https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrbodyjointset) and individual joint set IDs. |
| [`XRBodyTrackingFeature`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/XRBodyTrackingFeature) | This `OpenXRInteractionFeature` configures Android XR extensions `XR_ANDROIDX_body_tracking` at runtime and provides `XRHumanBodySubsystem` implementation that works on Android XR platform. |
| [`XRCubemapLightEstimationFeature`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/XRCubemapLightEstimationFeature) | This feature provides access to the `XR_ANDROID_light_estimation_cubemap` extension and implements XREnvironmentProbeSubsystem . |
| [`XRFineEyeFeature`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/XRFineEyeFeature) | This feature exposes fine eye info provided by `XR_ANDROID_eye_tracking` extension. |
| [`XRGeospatialFeature`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/XRGeospatialFeature) | This `OpenXRInteractionFeature` configures Android XR extensions `XR_ANDROID_geospatial` at runtime and provides [XRGeospatialManager](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/XRGeospatialManager#classGoogle_1_1XR_1_1Extensions_1_1XRGeospatialManager) to access geospatial capabilities. |
| [`XRGeospatialManager`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/XRGeospatialManager) | Controls the lifecycle and configuration for a Geospatial Tracker. |
| [`XRGeospatialPose`](https://developer.android.com/develop/xr/unity/reference/struct/Google/XR/Extensions/XRGeospatialPose) | Represents a position and orientation relative to the Earth. |
| [`XRGeospatialPoseResult`](https://developer.android.com/develop/xr/unity/reference/struct/Google/XR/Extensions/XRGeospatialPoseResult) | Represents the result when converting a pose in Unity world space into [XRGeospatialPose](https://developer.android.com/develop/xr/unity/reference/struct/Google/XR/Extensions/XRGeospatialPose#structGoogle_1_1XR_1_1Extensions_1_1XRGeospatialPose). |
| [`XRGeospatialStateChangedEventArgs`](https://developer.android.com/develop/xr/unity/reference/struct/Google/XR/Extensions/XRGeospatialStateChangedEventArgs) | Container for [XRGeospatialState](https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrgeospatialstate) event arguments. |
| [`XRGoogleCloudAuthResult`](https://developer.android.com/develop/xr/unity/reference/struct/Google/XR/Extensions/XRGoogleCloudAuthResult) | The authentication result from Google Cloud APIs. |
| [`XRGoogleCloudFeature`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/XRGoogleCloudFeature) | This `OpenXRInteractionFeature` configures Android XR extensions `XR_ANDROID_google_cloud_auth` at runtime and provides XRGoogleCloudManager to manage Google Cloud API usages. |
| [`XRHumanBodyProportions`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/XRHumanBodyProportions) | Defines the human body proportions to be used for computing the rest pose skeleton. |
| [`XRInputActionMap`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/XRInputActionMap) | Manages general supported XR input actions. |
| [`XRMarkerDatabase`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/XRMarkerDatabase) | A marker database is a collection of [XRMarkerDatabaseEntry](https://developer.android.com/develop/xr/unity/reference/struct/Google/XR/Extensions/XRMarkerDatabaseEntry#structGoogle_1_1XR_1_1Extensions_1_1XRMarkerDatabaseEntry) which stores marker information used to configure marker tracking at runtime when [XRMarkerTrackingFeature](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/XRMarkerTrackingFeature#classGoogle_1_1XR_1_1Extensions_1_1XRMarkerTrackingFeature) is enabled. |
| [`XRMarkerDatabaseEntry`](https://developer.android.com/develop/xr/unity/reference/struct/Google/XR/Extensions/XRMarkerDatabaseEntry) | Represents an entry in an [XRMarkerDatabase](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/XRMarkerDatabase#classGoogle_1_1XR_1_1Extensions_1_1XRMarkerDatabase) with the specialized information that can be converted into a marker XRReferenceImage, then used at ARTrackedImageManager.referenceLibrary for runtime configuration. |
| [`XRMarkerTrackingFeature`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/XRMarkerTrackingFeature) | This OpenXRInteractionFeature configures Android XR extensions `XR_ANDROID_trackables` and `XR_ANDROID_trackables_marker` at runtime and provides XRImageTrackingSubsystem implementation that works on Android XR platform. |
| [`XRMeshSubsystemExtension`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/XRMeshSubsystemExtension) | Extensions to AR Foundation's `XRMeshSubsystem` class. |
| [`XRMultimodalFaceFeature`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/XRMultimodalFaceFeature) | This feature exposes multimodal face tracking capabilities provided by `XR_ANDROID_face_tracking_data_source` extension. |
| [`XRObjectTrackingFeature`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/XRObjectTrackingFeature) | This `OpenXRInteractionFeature` configures Android XR extensions `XR_ANDROID_trackables` and `XR_ANDROID_trackables_object` at runtime and provides XRObjectTrackingSubsystem implementation that works on Android XR platform. |
| [`XRPassthroughFeature`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/XRPassthroughFeature) | This `OpenXRInteractionFeature` configures the `XR_ANDROID_composition_layer_passthrough_mesh` and `XR_ANDROID_passthrough_camera_state` extensions at OpenXR runtime and provides passthrough geometry capabilities in the OpenXR platform. |
| [`XRPassthroughLayerData`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/XRPassthroughLayerData) | Example of defining a layer data script for a passthrough layer. |
| [`XRPoseResult`](https://developer.android.com/develop/xr/unity/reference/struct/Google/XR/Extensions/XRPoseResult) | Represents the result when converting [XRGeospatialPose](https://developer.android.com/develop/xr/unity/reference/struct/Google/XR/Extensions/XRGeospatialPose#structGoogle_1_1XR_1_1Extensions_1_1XRGeospatialPose) into a pose in Unity world space. |
| [`XRQrCodeTrackingFeature`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/XRQrCodeTrackingFeature) | This OpenXRInteractionFeature configures Android XR extensions `XR_ANDROID_trackables` and `XR_ANDROID_trackables_qr_code` at runtime and provides XRImageTrackingSubsystem implementation that works on Android XR platform. |
| [`XRRecommendedSettingsFeature`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/XRRecommendedSettingsFeature) | This [XRRecommendedSettingsFeature](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/XRRecommendedSettingsFeature#classGoogle_1_1XR_1_1Extensions_1_1XRRecommendedSettingsFeature) provides a function to query the recommended settings information at runtime. |
| [`XRSceneMeshingFeature`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/XRSceneMeshingFeature) | This feature provides access to the `XR_ANDROID_scene_meshing` extension. |
| [`XRSessionFeature`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/XRSessionFeature) | This `OpenXRInteractionFeature` provides Android XR session management for all extended Android XR features, and common session configurations. |
| [`XRSpatialContainerFeature`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/XRSpatialContainerFeature) | This feature provides access to the `XR_EXT_spatial_container_self_rendering` extension. |
| [`XRSpatialSdkExtensions`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/XRSpatialSdkExtensions) | Helper class for the usage of [XRSpatialSdkVersions](https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrspatialsdkversions). |
| [`XRStreamingFeature`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/XRStreamingFeature) | This `OpenXRInteractionFeature` provides Android XR Direct Preview support within Editor, require Android XR Streaming runtime to be preinstalled on the host. |
| [`XRUnboundedRefSpaceFeature`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/XRUnboundedRefSpaceFeature) | This `https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/XRUnboundedRefSpaceFeature#classGoogle_1_1XR_1_1Extensions_1_1XRUnboundedRefSpaceFeature` makes the `UNBOUNDED` reference space available in this app and can be used by setting the `XRInputSubsystem` tracking origin mode. |
| [`XrRecommendedSettings`](https://developer.android.com/develop/xr/unity/reference/struct/Google/XR/Extensions/XrRecommendedSettings) | Contains the recommended settings for the app. |
| [`XrResultExtensions`](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/XrResultExtensions) | Extension class for XrResult, including helpers of OpenXRResultStatus and XRResultStatus. |