# Extensions

## Summary

| ### Enumerations ||
|---|---|
| `https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#androidxrpermission{ https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#androidxrpermission_sceneunderstandingcoarse = 0, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#androidxrpermission_sceneunderstandingfine = 1, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#androidxrpermission_handtracking = 2, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#androidxrpermission_eyetrackingcoarse = 3, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#androidxrpermission_eyetrackingfine = 4, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#androidxrpermission_facetracking = 5, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#androidxrpermission_bodytracking = 9, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#androidxrpermission_recordaudio = 10 }` | enumPermissions required by Android XR tracking services. |
| `https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#persistencestatuscode{ https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#persistencestatuscode_entitynottracking = -1000781001, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#persistencestatuscode_persistuuidnotfound = -1000781002 }` | enumExtends XRResultStatus.StatusCode with XrSpatialPersistenceContextResultEXT to better understand the failure reason of persistence operations. |
| `https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrauthenticationstrategy{ https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrauthenticationstrategy_none = 0, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrauthenticationstrategy_keyless = 1, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrauthenticationstrategy_apikey = 2, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrauthenticationstrategy_authtoken = 3 }` | enumThe strategy to configure Google Cloud authentication. |
| `https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrbodyjointset{ https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrbodyjointset_upperbody = 0, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrbodyjointset_fullbody = 1 }` | enumThe set of body joints to track by the platform. |
| `https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrfacetrackermode{ https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrfacetrackermode_unknown = 0, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrfacetrackermode_image = 1, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrfacetrackermode_audio = 2, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrfacetrackermode_multimodal = 3 }` | enumThis is an enumeration of the possible face tracking modalities. |
| `https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrfullbodyjointid{ https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrfullbodyjointid_invalid = 0, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrfullbodyjointid_beginmarker = 1, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrfullbodyjointid_hips = BeginMarker, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrfullbodyjointid_spine, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrfullbodyjointid_ribs, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrfullbodyjointid_chest, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrfullbodyjointid_neck, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrfullbodyjointid_head, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrfullbodyjointid_leftshoulder, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrfullbodyjointid_rightshoulder, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrfullbodyjointid_leftupperarm, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrfullbodyjointid_rightupperarm, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrfullbodyjointid_leftlowerarm, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrfullbodyjointid_rightlowerarm, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrfullbodyjointid_lefthand, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrfullbodyjointid_righthand, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrfullbodyjointid_leftupperleg, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrfullbodyjointid_rightupperleg, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrfullbodyjointid_leftlowerleg, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrfullbodyjointid_rightlowerleg, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrfullbodyjointid_leftfoot, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrfullbodyjointid_rightfoot, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrfullbodyjointid_lefttoes, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrfullbodyjointid_righttoes, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrfullbodyjointid_endmarker }` | enumRepresents the type of an skeleton joint. |
| `https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrgeospatialstate{ https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrgeospatialstate_none = 0, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrgeospatialstate_unsupported, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrgeospatialstate_disabled, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrgeospatialstate_initializing, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrgeospatialstate_initializationfailed, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrgeospatialstate_running, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrgeospatialstate_stopped }` | enumRepresents the current state of geospatial services. |
| `https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrgeospatialsurfacetype{ https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrgeospatialsurfacetype_default = 0, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrgeospatialsurfacetype_terrain = 1, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrgeospatialsurfacetype_rooftop = 2 }` | enumThe surface type of geospatial anchors. |
| `https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrgooglecloudautherror{ https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrgooglecloudautherror_none = 0, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrgooglecloudautherror_quotaexceeded = -1, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrgooglecloudautherror_unreachable = -2, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrgooglecloudautherror_autherror = -3 }` | enumThe cause of the error of an operation accessing Google Cloud APIs. |
| `https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrmarkerdictionary{ https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrmarkerdictionary_aruco4x4_50 = 0, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrmarkerdictionary_aruco4x4_100 = 1, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrmarkerdictionary_aruco4x4_250 = 2, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrmarkerdictionary_aruco4x4_1000 = 3, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrmarkerdictionary_aruco5x5_50 = 4, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrmarkerdictionary_aruco5x5_100 = 5, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrmarkerdictionary_aruco5x5_250 = 6, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrmarkerdictionary_aruco5x5_1000 = 7, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrmarkerdictionary_aruco6x6_50 = 8, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrmarkerdictionary_aruco6x6_100 = 9, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrmarkerdictionary_aruco6x6_250 = 10, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrmarkerdictionary_aruco6x6_1000 = 11, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrmarkerdictionary_aruco7x7_50 = 12, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrmarkerdictionary_aruco7x7_100 = 13, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrmarkerdictionary_aruco7x7_250 = 14, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrmarkerdictionary_aruco7x7_1000 = 15, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrmarkerdictionary_apriltag_16h5 = 16, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrmarkerdictionary_apriltag_25h9 = 17, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrmarkerdictionary_apriltag_36h10 = 18, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrmarkerdictionary_apriltag_36h11 = 19 }` | enumDescribes the type of Supported marker dictionaries. |
| `https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrmeshsemantics{ https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrmeshsemantics_other = 0, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrmeshsemantics_floor = 1, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrmeshsemantics_ceiling = 2, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrmeshsemantics_wall = 3, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrmeshsemantics_table = 4 }` | enumAn enum representing the vertex semantics of a scene mesh. |
| `https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrobjectlabel{ https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrobjectlabel_unknown = 0, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrobjectlabel_keyboard = 1, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrobjectlabel_mouse = 2, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrobjectlabel_laptop = 3 }` | enumDescribes the type of object that the system has identified. |
| `https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrpassthroughcamerastates{ https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrpassthroughcamerastates_disabled = 0, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrpassthroughcamerastates_initializing = 1, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrpassthroughcamerastates_ready = 2, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrpassthroughcamerastates_error = 3 }` | enumDefines possible passthrough camera states. |
| `https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrscenemeshtrackingstate{ https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrscenemeshtrackingstate_initializing = 0, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrscenemeshtrackingstate_tracking = 1, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrscenemeshtrackingstate_waiting = 2, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrscenemeshtrackingstate_error = 3 }` | enumAn enum representing the scene mesh tracking state. |
| `https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrshareableanchorhosts{ https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrshareableanchorhosts_none = 0, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrshareableanchorhosts_local = 1 << 0, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrshareableanchorhosts_geospatial = 1 << 3 }` | enumIdentifies the host where the shareable anchor has been stored. |
| `https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrspatialcontainerstateflags{ https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrspatialcontainerstateflags_none = 0, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrspatialcontainerstateflags_visible = 1 << 0, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrspatialcontainerstateflags_interactive = 1 << 1, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrspatialcontainerstateflags_immersive = 1 << 2 }` | enumRepresents the state of the spatial container. |
| `https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrspatialsdkversions{ https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrspatialsdkversions_xrspatialapilevelauto = 0, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrspatialsdkversions_xrspatialapilevel1 = 1, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrspatialsdkversions_xrspatialapilevel3 = 3, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrspatialsdkversions_xrspatialapilevel4 = 4 }` | enumThe XR Spatial API levels to specify in the manifest to filter applications from devices that don't meet its hardware and software feature requirements. |
| `https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrupperbodyjointid{ https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrupperbodyjointid_invalid = 0, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrupperbodyjointid_beginmarker = 1, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrupperbodyjointid_hips = BeginMarker, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrupperbodyjointid_spine, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrupperbodyjointid_ribs, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrupperbodyjointid_chest, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrupperbodyjointid_neck, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrupperbodyjointid_head, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrupperbodyjointid_leftshoulder, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrupperbodyjointid_rightshoulder, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrupperbodyjointid_leftupperarm, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrupperbodyjointid_rightupperarm, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrupperbodyjointid_leftlowerarm, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrupperbodyjointid_rightlowerarm, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrupperbodyjointid_lefthand, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrupperbodyjointid_righthand, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrupperbodyjointid_endmarker }` | enumRepresents the type of an skeleton joint. |
| `https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrvpsavailability{ https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrvpsavailability_unknown = 0, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrvpsavailability_unavailable, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrvpsavailability_available }` | enumRepresents the availability of VPS near a given location. |
| `https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrinputmodalities{ https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrinputmodalities_unknown = 0, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrinputmodalities_head = 1 << 0, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrinputmodalities_controller = 1 << 1, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrinputmodalities_hands = 1 << 2, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrinputmodalities_mouse = 1 << 3, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrinputmodalities_gazeandgesture = 1 << 4 }` | enumThe possible input modality states within the default environment. |
| `https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrresultandroid{ https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrresultandroid_keylessnotsetup = -1000787000, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrresultandroid_keylessauthfailed = -1000787001, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrresultandroid_geospatialtrackernotrunning = -1000789000, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrresultandroid_geospatialcoordinateinvalid = -1000789001, https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrresultandroid_geospatialcloudauthfailed = -1000789002 }` | enumThe `XrResult` error codes provided by vendor extensions. |

| ### Typedefs ||
|---|---|
| `https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#arfacefeature` | typedef `UnityEngine.XR.OpenXR.Features.Android.ARFaceFeature` |
| `https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#arsessionfeature` | typedef `UnityEngine.XR.OpenXR.Features.Android.ARSessionFeature` |
| `https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#eventdata` | using `Internal.XRSpatialContainerEventData` |
| `https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#trackableid` | using `UnityEngine.XR.ARSubsystems.TrackableId` |
| `https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrgeospatialtracker` | using `System.UInt64` |

| ### Classes ||
|---|---|
| [Google.XR.Extensions.ARFaceExtensions](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/ARFaceExtensions) | Extensions to AR Foundation's `ARFace`. |
| [Google.XR.Extensions.ARFaceManagerExtensions](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/ARFaceManagerExtensions) | Extensions to AR Foundation's `ARFaceManager`. |
| [Google.XR.Extensions.ARShareableAnchor](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/ARShareableAnchor) | Represents a shareable anchor tracked by an XR device. |
| [Google.XR.Extensions.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. |
| [Google.XR.Extensions.ARTrackedImageExtensions](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/ARTrackedImageExtensions) | Extensions to AR Foundation's `ARTrackedImage` class. |
| [Google.XR.Extensions.ARTrackedObjectExtensions](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/ARTrackedObjectExtensions) | Extensions to AR Foundation's `ARTrackedObject` class. |
| [Google.XR.Extensions.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`. |
| [Google.XR.Extensions.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`. |
| [Google.XR.Extensions.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. |
| [Google.XR.Extensions.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`. |
| [Google.XR.Extensions.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`. |
| [Google.XR.Extensions.AndroidXRPermissionUtil](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/AndroidXRPermissionUtil) | Utility component to help manage runtime permission requests. |
| [Google.XR.Extensions.AndroidXRRuntimeImageLibrary](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/AndroidXRRuntimeImageLibrary) | Constructs a RuntimeReferenceImageLibrary which stores reference images |
| [Google.XR.Extensions.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`. |
| [Google.XR.Extensions.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. |
| [Google.XR.Extensions.SampleDebugUtils](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/SampleDebugUtils) | Utilities to debug Android XR samples. |
| [Google.XR.Extensions.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. |
| [Google.XR.Extensions.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. |
| [Google.XR.Extensions.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. |
| [Google.XR.Extensions.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 . |
| [Google.XR.Extensions.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. |
| [Google.XR.Extensions.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. |
| [Google.XR.Extensions.XRGeospatialManager](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/XRGeospatialManager) | Controls the lifecycle and configuration for a Geospatial Tracker. |
| [Google.XR.Extensions.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. |
| [Google.XR.Extensions.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. |
| [Google.XR.Extensions.XRInputActionMap](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/XRInputActionMap) | Manages general supported XR input actions. |
| [Google.XR.Extensions.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. |
| [Google.XR.Extensions.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. |
| [Google.XR.Extensions.XRMeshSubsystemExtension](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/XRMeshSubsystemExtension) | Extensions to AR Foundation's `XRMeshSubsystem` class. |
| [Google.XR.Extensions.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. |
| [Google.XR.Extensions.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. |
| [Google.XR.Extensions.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. |
| [Google.XR.Extensions.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. |
| [Google.XR.Extensions.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. |
| [Google.XR.Extensions.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. |
| [Google.XR.Extensions.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. |
| [Google.XR.Extensions.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. |
| [Google.XR.Extensions.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. |
| [Google.XR.Extensions.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). |
| [Google.XR.Extensions.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. |
| [Google.XR.Extensions.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. |
| [Google.XR.Extensions.XrResultExtensions](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/XrResultExtensions) | Extension class for XrResult, including helpers of OpenXRResultStatus and XRResultStatus. |

| ### Structs ||
|---|---|
| [Google.XR.Extensions.XRGeospatialPose](https://developer.android.com/develop/xr/unity/reference/struct/Google/XR/Extensions/XRGeospatialPose) | Represents a position and orientation relative to the Earth. |
| [Google.XR.Extensions.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). |
| [Google.XR.Extensions.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. |
| [Google.XR.Extensions.XRGoogleCloudAuthResult](https://developer.android.com/develop/xr/unity/reference/struct/Google/XR/Extensions/XRGoogleCloudAuthResult) | The authentication result from Google Cloud APIs. |
| [Google.XR.Extensions.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. |
| [Google.XR.Extensions.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. |
| [Google.XR.Extensions.XrRecommendedSettings](https://developer.android.com/develop/xr/unity/reference/struct/Google/XR/Extensions/XrRecommendedSettings) | Contains the recommended settings for the app. |

| ### Interfaces ||
|---|---|
| [Google.XR.Extensions.IXRSpatialSdk](https://developer.android.com/develop/xr/unity/reference/interface/Google/XR/Extensions/IXRSpatialSdk) | The interface for OpenXRFeature to define XR Spatial SDK requirement. |

| ### Namespaces ||
|---|---|
| [Google.XR.Extensions.ARSubsystems](https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions/ARSubsystems) |   |
| [Google.XR.Extensions.SpatialEntities](https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions/SpatialEntities) |   |

## Enumerations

### AndroidXRPermission

```c#
 AndroidXRPermission
```
Permissions required by Android XR tracking services.

| Properties ||
|---|---|
| `BodyTracking` | Permission to enable body tracking. |
| `EyeTrackingCoarse` | Permission to enable coarse eye tracking. |
| `EyeTrackingFine` | Permission to enable eye gaze interaction and fine eye tracking. |
| `FaceTracking` | Permission to enable face tracking. |
| `HandTracking` | Permission to enable hand tracking. |
| `RecordAudio` | Permission to enable multimodal face tracking. |
| `SceneUnderstandingCoarse` | Permission to enable coarse scene understanding features that relies on motion tracking, ToF sensor, and the VST RGB-left cameras. |
| `SceneUnderstandingFine` | Permission to enable fine scene understanding features that relies on motion tracking, such as depth texture and scene meshing. |

### PersistenceStatusCode

```c#
 PersistenceStatusCode
```
Extends XRResultStatus.StatusCode with XrSpatialPersistenceContextResultEXT to better understand the failure reason of persistence operations.

| Properties ||
|---|---|
| `EntityNotTracking` | Represents `XR_SPATIAL_PERSISTENCE_CONTEXT_RESULT_ENTITY_NOT_TRACKING_EXT`. |
| `PersistUuidNotFound` | Represents `XR_SPATIAL_PERSISTENCE_CONTEXT_RESULT_PERSIST_UUID_NOT_FOUND_EXT`. |

### XRAuthenticationStrategy

```c#
 XRAuthenticationStrategy
```
The strategy to configure Google Cloud authentication.

| Properties ||
|---|---|
| `ApiKey` | API key strategy. The credential must further satisfy the following conditions: - It must be a valid API Key generated for your Google Cloud project. - Your Google Cloud project must enable the relevant Google Cloud APIs (specified by the OpenXR extensions). - If the API Key has restrictions, the restrictions must allow the relevant Google Cloud APIs and your application. <br /> |
| `AuthToken` | Authentication token strategy. The credential of authentication token must be one of: - An OAuth2 access token with the relevant scopes, generated by signing into a Google account with your application. - A Signed JWT token with the relevant claims, generated by a Service Account from your Google Cloud project. <br /> |
| `Keyless` | Keyless strategy. Credential is not required. The runtime may generate credentials dynamically and communicates with Google Play Services from the application process. |
| `None` | Not in use. |

### XRBodyJointSet

```c#
 XRBodyJointSet
```
The set of body joints to track by the platform.

| Properties ||
|---|---|
| `FullBody` | The joint set covering the full body. |
| `UpperBody` | The joint set covering the upper body. |

### XRFaceTrackerMode

```c#
 XRFaceTrackerMode
```
This is an enumeration of the possible face tracking modalities.

| Properties ||
|---|---|
| `Audio` | Audio-only face tracking. |
| `Image` | Image-only face tracking. |
| `Multimodal` | Multimodal face tracking. |
| `Unknown` | Unknown face tracking mode. |

### XRFullBodyJointID

```c#
 XRFullBodyJointID
```
Represents the type of an skeleton joint.

If you wish to convert it to an index, Use XRBodyJointSetUtility.ToIndex(XRFullBodyJointID) on the joint ID.

| Properties ||
|---|---|
| `BeginMarker` | Marks the beginning of joints, or start of an array of data related to them. Casting this to an integer type will not result in a correct start. Use XRBodyJointSetUtility.ToIndex(XRFullBodyJointID) instead. |
| `Chest` | Joint for the chest. |
| `EndMarker` | Marks the end of joints, or size of an array of data related to them. Casting this to an integer type will not result in a correct count. Use XRBodyJointSetUtility.ToIndex(XRFullBodyJointID) instead. |
| `Head` | Joint for the head. |
| `Hips` | Joint for hips. |
| `Invalid` | Invalid ID. |
| `LeftFoot` | Joint for the left foot. |
| `LeftHand` | Joint for the left hand. |
| `LeftLowerArm` | Joint for the left lower arm. |
| `LeftLowerLeg` | Joint for the left lower leg. |
| `LeftShoulder` | Joint for the left shoulder. |
| `LeftToes` | Joint for left toes. |
| `LeftUpperArm` | Joint for the left upper arm. |
| `LeftUpperLeg` | Joint for the left upper leg. |
| `Neck` | Joint for the neck. |
| `Ribs` | Joint for ribs. |
| `RightFoot` | Joint for the right foot. |
| `RightHand` | Joint for the right hand. |
| `RightLowerArm` | Joint for the right lower arm. |
| `RightLowerLeg` | Joint for the right lower leg. |
| `RightShoulder` | Joint for the right shoulder. |
| `RightToes` | Joint for right toes. |
| `RightUpperArm` | Joint for the right upper arm. |
| `RightUpperLeg` | Joint for the right upper leg. |
| `Spine` | Joint for the spine. |

### XRGeospatialState

```c#
 XRGeospatialState
```
Represents the current state of geospatial services.

| Properties ||
|---|---|
| `Disabled` | Geospatial is supported by the system but it's disabled by the current session. Accessing geospatial APIs will return XRResultStatus.StatusCode.ProviderUninitialized error. |
| `InitializationFailed` | The geospatial tracker failed on initialization, and will not be usable. Use [XRGeospatialManager.InitializationResult](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/XRGeospatialManager#initializationresult) to understand the failure reasons. |
| `Initializing` | Geospatial is supported by the system and it's enabled by the current session. This state will automatically change to `InitializationFailed` or `Running` based on its initialization result. |
| `None` | Geospatial tracker has not been initialized and availability is unknown. It requires [XRGeospatialFeature](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/XRGeospatialFeature#classGoogle_1_1XR_1_1Extensions_1_1XRGeospatialFeature) to be enabled to monitor tracking state. |
| `Running` | The geospatial tracker succeed on initialization, and it is running and usable. |
| `Stopped` | The geospatial tracker stopped running. All previously created anchors have permanently stopped tracking, and should be destroyed. The application must not attempt to use the tracker in this state. Instead, try to restart [XRGeospatialManager](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/XRGeospatialManager#classGoogle_1_1XR_1_1Extensions_1_1XRGeospatialManager) after resolving the issues. |
| `Unsupported` | Geospatial is unsupported by the system. Assessing geospatial APIs will return XRResultStatus.StatusCode.Unsupported. |

### XRGeospatialSurfaceType

```c#
 XRGeospatialSurfaceType
```
The surface type of geospatial anchors.

| Properties ||
|---|---|
| `Default` | Type of an anchor which is not relative to any surfaces but directly placed at a given [XRGeospatialPose](https://developer.android.com/develop/xr/unity/reference/struct/Google/XR/Extensions/XRGeospatialPose#structGoogle_1_1XR_1_1Extensions_1_1XRGeospatialPose). |
| `Rooftop` | Type of an anchor placed relative to the rooftop, or ground where there is no building. |
| `Terrain` | Type of an anchor placed relative to the ground. |

### XRGoogleCloudAuthError

```c#
 XRGoogleCloudAuthError
```
The cause of the error of an operation accessing Google Cloud APIs.

| Properties ||
|---|---|
| `AuthError` | An auth error occurred when invoking a Google Cloud API. It may be caused by an invalid credential which has been set for authentication. |
| `None` | No error occurred when invoking a Google Cloud API. |
| `QuotaExceeded` | Quota exceeded when invoking a Google Cloud API. |
| `Unreachable` | Failed to reach a Google Cloud API, possibly due to network connectivity issues or server availability. |

### XRMarkerDictionary

```c#
 XRMarkerDictionary
```
Describes the type of Supported marker dictionaries.

| Properties ||
|---|---|
| `AprilTag_16H5` | The predefined dictionary of AprilTag family 16H5. |
| `AprilTag_25H9` | The predefined dictionary of AprilTag family 25H9. |
| `AprilTag_36H10` | The predefined dictionary of AprilTag family 36H10. |
| `AprilTag_36H11` | The predefined dictionary of AprilTag family 36H11. |
| `ArUco4x4_100` | The predefined dictionary in the ArUco module, composed of 100 markers with size of 4x4 bits. |
| `ArUco4x4_1000` | The predefined dictionary in the ArUco module, composed of 1000 markers with size of 4x4 bits. |
| `ArUco4x4_250` | The predefined dictionary in the ArUco module, composed of 250 markers with size of 4x4 bits. |
| `ArUco4x4_50` | The predefined dictionary in the ArUco module, composed of 50 markers with size of 4x4 bits. |
| `ArUco5x5_100` | The predefined dictionary in the ArUco module, composed of 100 markers with size of 5x5 bits. |
| `ArUco5x5_1000` | The predefined dictionary in the ArUco module, composed of 1000 markers with size of 5x5 bits. |
| `ArUco5x5_250` | The predefined dictionary in the ArUco module, composed of 250 markers with size of 5x5 bits. |
| `ArUco5x5_50` | The predefined dictionary in the ArUco module, composed of 50 markers with size of 5x5 bits. |
| `ArUco6x6_100` | The predefined dictionary in the ArUco module, composed of 100 markers with size of 6x6 bits. |
| `ArUco6x6_1000` | The predefined dictionary in the ArUco module, composed of 1000 markers with size of 6x6 bits. |
| `ArUco6x6_250` | The predefined dictionary in the ArUco module, composed of 250 markers with size of 6x6 bits. |
| `ArUco6x6_50` | The predefined dictionary in the ArUco module, composed of 50 markers with size of 6x6 bits. |
| `ArUco7X7_100` | The predefined dictionary in the ArUco module, composed of 100 markers with size of 7x7 bits. |
| `ArUco7X7_1000` | The predefined dictionary in the ArUco module, composed of 1000 markers with size of 7x7 bits. |
| `ArUco7X7_250` | The predefined dictionary in the ArUco module, composed of 250 markers with size of 7x7 bits. |
| `ArUco7X7_50` | The predefined dictionary in the ArUco module, composed of 50 markers with size of 7x7 bits. |

### XRMeshSemantics

```c#
 XRMeshSemantics
```
An enum representing the vertex semantics of a scene mesh.

| Properties ||
|---|---|
| `CEILING` | Represents a vertex on the ceiling. |
| `FLOOR` | Represents a vertex on the floor. |
| `OTHER` | Represents a vertex with unknown semantic. |
| `TABLE` | Represents a vertex on the table. |
| `WALL` | Represents a vertex on the wall. |

### XRObjectLabel

```c#
 XRObjectLabel
```
Describes the type of object that the system has identified.

| Properties ||
|---|---|
| `Keyboard` | The object is a keyboard. |
| `Laptop` | The object is a laptop. |
| `Mouse` | The object is a mouse. |
| `Unknown` | It was not possible to label the object. |

### XRPassthroughCameraStates

```c#
 XRPassthroughCameraStates
```
Defines possible passthrough camera states.

| Properties ||
|---|---|
| `Disabled` | The camera has been disabled by an app, the system or the user. |
| `Error` | The camera is in an unrecoverable error state. |
| `Initializing` | The camera is still coming online and not yet ready to use. |
| `Ready` | The camera is ready to use. |

### XRSceneMeshTrackingState

```c#
 XRSceneMeshTrackingState
```
An enum representing the scene mesh tracking state.

| Properties ||
|---|---|
| `ERROR` | The internal tracker has not received valid measurements for multiple cycles and is in an error state. |
| `INITIALIZING` | The internal tracker is not yet ready to provide mesh data. |
| `TRACKING` | The internal tracker is actively tracking. |
| `WAITING` | The internal tracker is waiting for valid measurements to integrate since the last mesh update. |

### XRShareableAnchorHosts

```c#
 XRShareableAnchorHosts
```
Identifies the host where the shareable anchor has been stored.

| Properties ||
|---|---|
| `Geospatial` | The anchor is created by [XRGeospatialPose](https://developer.android.com/develop/xr/unity/reference/struct/Google/XR/Extensions/XRGeospatialPose#structGoogle_1_1XR_1_1Extensions_1_1XRGeospatialPose). |
| `Local` | The anchor has been stored on the local storage, available to be loaded from the same device. |
| `None` | No host, the equivalence of XRAnchor. |

### XRSpatialContainerStateFlags

```c#
 XRSpatialContainerStateFlags
```
Represents the state of the spatial container.

| Properties ||
|---|---|
| `Immersive` | Whether the spatial container is immersive. |
| `Interactive` | Whether the spatial container is interactive. |
| `None` | The spatial container state is unknown. |
| `Visible` | Whether the spatial container is visible. |

### XRSpatialSdkVersions

```c#
 XRSpatialSdkVersions
```
The XR Spatial API levels to specify in the manifest to filter applications from devices that don't meet its hardware and software feature requirements.

Check individual OpenXRFeature for their minimal required levels.

| Properties ||
|---|---|
| `XRSpatialApiLevel1` | XR Spatial API level 1, the first Android XR release. |
| `XRSpatialApiLevel3` | XR Spatial API level 3, Android XR OTA 1. |
| `XRSpatialApiLevel4` | XR Spatial API level 4. |
| `XRSpatialApiLevelAuto` | Uses the highest supported API level that currently available. |

### XRUpperBodyJointID

```c#
 XRUpperBodyJointID
```
Represents the type of an skeleton joint.

If you wish to convert it to an index, Use XRBodyJointSetUtility.ToIndex(XRUpperBodyJointID) on the joint ID.

| Properties ||
|---|---|
| `BeginMarker` | Marks the beginning of joints, or start of an array of data related to them. Casting this to an integer type will not result in a correct start. Use XRBodyJointSetUtility.ToIndex(XRUpperBodyJointID) instead. |
| `Chest` | Joint for the chest. |
| `EndMarker` | Marks the end of joints, or size of an array of data related to them. Casting this to an integer type will not result in a correct count. Use XRBodyJointSetUtility.ToIndex(XRUpperBodyJointID) instead. |
| `Head` | Joint for the head. |
| `Hips` | Joint for hips. |
| `Invalid` | Invalid ID. |
| `LeftHand` | Joint for the left hand. |
| `LeftLowerArm` | Joint for the left lower arm. |
| `LeftShoulder` | Joint for the left shoulder. |
| `LeftUpperArm` | Joint for the left upper arm. |
| `Neck` | Joint for the neck. |
| `Ribs` | Joint for ribs. |
| `RightHand` | Joint for the right hand. |
| `RightLowerArm` | Joint for the right lower arm. |
| `RightShoulder` | Joint for the right shoulder. |
| `RightUpperArm` | Joint for the right upper arm. |
| `Spine` | Joint for the spine. |

### XRVPSAvailability

```c#
 XRVPSAvailability
```
Represents the availability of VPS near a given location.

| Properties ||
|---|---|
| `Available` | VPS is available near the given location. |
| `Unavailable` | VPS is not available near the given location. |
| `Unknown` | The availability of VPS is unknown. |

### XrInputModalities

```c#
 XrInputModalities
```
The possible input modality states within the default environment.

| Properties ||
|---|---|
| `Controller` | Controller input modality. |
| `GazeAndGesture` | Eyes and/or Hands input modality. |
| `Hands` | Hands input modality. |
| `Head` | Head input modality. |
| `Mouse` | Mouse input modality. |
| `Unknown` | Unknown input modality. |

### XrResultAndroid

```c#
 XrResultAndroid
```
The `XrResult` error codes provided by vendor extensions.

For general types, refer to XrResult.

| Properties ||
|---|---|
| `GeospatialCloudAuthFailed` | The `XrResult` error code indicating that a problem happens with authentication to Google Cloud API. OpenXR type: XR_ERROR_GEOSPATIAL_CLOUD_AUTH_FAILED_ANDROID. |
| `GeospatialCoordinateInvalid` | The `XrResult` error code indicating that the given geospatial coordinates are invalid or out of range. OpenXR type: XR_ERROR_GEOSPATIAL_COORDINATES_INVALID_ANDROID. |
| `GeospatialTrackerNotRunning` | The `XrResult` error code indicating that an operation failed because the Geospatial Tracker was not running when it started, or the Geospatial Tracker stopped running before the operation completed. OpenXR type: XR_ERROR_GEOSPATIAL_TRACKER_NOT_RUNNING_ANDROID. |
| `KeylessAuthFailed` | The `XrResult` error code indicating that an error occurred when fetching Keyless Auth credentials. OpenXR type: XR_ERROR_KEYLESS_AUTH_FAILED_ANDROID. |
| `KeylessNotSetup` | The `XrResult` error code indicating that the developer did not properly setup Keyless Auth. OpenXR type: XR_ERROR_KEYLESS_AUTH_NOT_SETUP_ANDROID. |

## Typedefs

### ARFaceFeature

```c#
UnityEngine.XR.OpenXR.Features.Android.ARFaceFeature ARFaceFeature
```

### ARSessionFeature

```c#
UnityEngine.XR.OpenXR.Features.Android.ARSessionFeature ARSessionFeature
```

### EventData

```c#
Internal.XRSpatialContainerEventData EventData
```

### TrackableId

```c#
UnityEngine.XR.ARSubsystems.TrackableId TrackableId
```

### XrGeospatialTracker

```c#
System.UInt64 XrGeospatialTracker
```