# ARCoreExtensions

## Summary

| ### Enumerations ||
|---|---|
| `https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#cameraconfigdepthsensorusage{ https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#cameraconfigdepthsensorusage_requireanduse = 0x0001, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#cameraconfigdepthsensorusage_donotuse = 0x0002 }` | enumType of hardware depth sensor usage for a camera config, such as a time-of-flight (ToF) sensor. |
| `https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#cameraconfigfacingdirection{ https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#cameraconfigfacingdirection_back = 0, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#cameraconfigfacingdirection_front = 1 }` | enumFacing direction options for camera config. |
| `https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#cameraconfigstereocamerausage{ https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#cameraconfigstereocamerausage_requireanduse = 0x0001, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#cameraconfigstereocamerausage_donotuse = 0x0002 }` | enumStereo Camera usage options. |
| `https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#cameraconfigtargetfps{ https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#cameraconfigtargetfps_target30fps = 0x0001, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#cameraconfigtargetfps_target60fps = 0x0002 }` | enumThe camera frame rate filter for the currently selected camera. |
| `https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#cloudanchormode{ https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#cloudanchormode_disabled = 0, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#cloudanchormode_enabled = 1 }` | enumDescribes the desired behavior of the ARCore Cloud Anchor API. |
| `https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#cloudanchorstate{ https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#cloudanchorstate_none, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#cloudanchorstate_taskinprogress, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#cloudanchorstate_success, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#cloudanchorstate_errorinternal, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#cloudanchorstate_errornotauthorized, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#cloudanchorstate_errorresourceexhausted, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#cloudanchorstate_errorhostingdatasetprocessingfailed, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#cloudanchorstate_errorresolvingcloudidnotfound, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#cloudanchorstate_errorresolvingpackagetooold, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#cloudanchorstate_errorresolvingpackagetoonew, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#cloudanchorstate_errorhostingserviceunavailable }` | enumResult status of a Cloud Anchor hosting or resolving operation. |
| `https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#earthstate{ https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#earthstate_enabled = 0, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#earthstate_errorinternal = -1, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#earthstate_errorgeospatialmodedisabled = -2, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#earthstate_errornotauthorized = -3, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#earthstate_errorresourcesexhausted = -4, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#earthstate_errorpackagetooold = -5, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#earthstate_errorearthnotready = -100, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#earthstate_errorsessionnotready = -101 }` | enumDescribes the current state of Earth localization. |
| `https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#featuremapquality{ https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#featuremapquality_insufficient = 0, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#featuremapquality_sufficient = 1, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#featuremapquality_good = 2 }` | enumIndicates the quality of feature points seen by ARCore in the preceding few seconds from a given camera `Pose`. |
| `https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#featuresupported{ https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#featuresupported_supported, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#featuresupported_unknown, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#featuresupported_unsupported }` | enumIndicates whether a feature or capability is supported on the device. |
| `https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#geospatialmode{ https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#geospatialmode_disabled = 0, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#geospatialmode_enabled = 2 }` | enumDescribes the desired behavior of the ARCore Geospatial API. |
| `https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#playbackresult{ https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#playbackresult_ok, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#playbackresult_sessionnotready, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#playbackresult_errorsessionnotpaused, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#playbackresult_errorsessionunsupported, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#playbackresult_errorplaybackfailed }` | enumResults from attempting to set playback dataset filepath. |
| `https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#playbackstatus{ https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#playbackstatus_none, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#playbackstatus_ok, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#playbackstatus_ioerror, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#playbackstatus_finishedsuccess }` | enumDescribes the current playback status. |
| `https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#promisestate{ https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#promisestate_pending = 0, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#promisestate_cancelled = 1, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#promisestate_done = 2 }` | enumDescribes state of an async operation. |
| `https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#recordingresult{ https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#recordingresult_ok, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#recordingresult_sessionnotready, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#recordingresult_errorinvalidargument, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#recordingresult_errorrecordingfailed, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#recordingresult_errorillegalstate }` | enumResults from recording methods. |
| `https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#recordingstatus{ https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#recordingstatus_none, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#recordingstatus_ok, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#recordingstatus_ioerror }` | enumDescribes the current recording status. |
| `https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#rooftopanchorstate{ https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#rooftopanchorstate_none = 0, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#rooftopanchorstate_success = 1, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#rooftopanchorstate_errorinternal = -1, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#rooftopanchorstate_errornotauthorized = -2, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#rooftopanchorstate_errorunsupportedlocation = -3 }` | enumDescribes the Rooftop anchor state of an synchronous operation launched by `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARAnchorManagerExtensions#resolveanchoronrooftopasync`. |
| `https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#semanticlabel{ https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#semanticlabel_unlabeled = 0, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#semanticlabel_sky = 1, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#semanticlabel_building = 2, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#semanticlabel_tree = 3, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#semanticlabel_road = 4, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#semanticlabel_sidewalk = 5, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#semanticlabel_terrain = 6, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#semanticlabel_structure = 7, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#semanticlabel_object = 8, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#semanticlabel_vehicle = 9, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#semanticlabel_person = 10, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#semanticlabel_water = 11 }` | enumDefines the labels the Scene Semantics API is able to detect and maps human-readable names to per-pixel semantic labels. |
| `https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#semanticmode{ https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#semanticmode_disabled = 0, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#semanticmode_enabled = 1 }` | enumDescribes the desired behavior of Scene Semantics. |
| `https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#streetscapegeometrymode{ https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#streetscapegeometrymode_disabled = 0, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#streetscapegeometrymode_enabled = 1 }` | enumDescribes the desired behavior of the Geospatial Streetscape Geometry API. |
| `https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#streetscapegeometryquality{ https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#streetscapegeometryquality_none = 0, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#streetscapegeometryquality_buildinglod1 = 1, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#streetscapegeometryquality_buildinglod2 = 2 }` | enumDescribes the quality of the mesh data. |
| `https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#streetscapegeometrytype{ https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#streetscapegeometrytype_terrain = 0, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#streetscapegeometrytype_building = 1 }` | enumDescribes the type of a Streetscape Geometry. |
| `https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#terrainanchorstate{ https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#terrainanchorstate_none = 0, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#terrainanchorstate_taskinprogress = 1, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#terrainanchorstate_success = 2, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#terrainanchorstate_errorinternal = -1, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#terrainanchorstate_errornotauthorized = -2, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#terrainanchorstate_errorunsupportedlocation = -3 }` | enumDescribes the result of a Terrain anchor resolving operation. |
| `https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#vpsavailability{ https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#vpsavailability_unknown = 0, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#vpsavailability_available = 1, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#vpsavailability_unavailable = 2, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#vpsavailability_errorinternal = -1, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#vpsavailability_errornetworkconnection = -2, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#vpsavailability_errornotauthorized = -3, https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#vpsavailability_errorresourceexhausted = -4 }` | enumDescribes the result of checking VPS availability at specific location. |

| ### Classes ||
|---|---|
| [Google.XR.ARCoreExtensions.ARAnchorManagerExtensions](https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARAnchorManagerExtensions) | Extensions to AR Foundation's `ARAnchorManager` class. |
| [Google.XR.ARCoreExtensions.ARCloudAnchor](https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARCloudAnchor) | The `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARCloudAnchor#classGoogle_1_1XR_1_1ARCoreExtensions_1_1ARCloudAnchor` is an ARCore Extensions object that provides a similar service to AR Foundation's `ARAnchor` as an anchor for game objects in your scene. |
| [Google.XR.ARCoreExtensions.ARCoreExtensions](https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARCoreExtensions) | ARCore Extensions, this script allows an app to specify and provide access to AR Foundation object instances that should be used by ARCore Extensions. |
| [Google.XR.ARCoreExtensions.ARCoreExtensionsCameraConfigFilter](https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARCoreExtensionsCameraConfigFilter) | The `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARCoreExtensionsCameraConfigFilter#classGoogle_1_1XR_1_1ARCoreExtensions_1_1ARCoreExtensionsCameraConfigFilter` class is used by the camera manager to derive a list of camera configurations available on the device at runtime. |
| [Google.XR.ARCoreExtensions.ARCoreExtensionsConfig](https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARCoreExtensionsConfig) | Holds settings that are used to configure the ARCore Extensions. |
| [Google.XR.ARCoreExtensions.ARCoreRecordingConfig](https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARCoreRecordingConfig) | Configuration to record camera and sensor data from an ARCore session. |
| [Google.XR.ARCoreExtensions.AREarthManager](https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/AREarthManager) | Provides localization in Earth-relative coordinates. |
| [Google.XR.ARCoreExtensions.ARGeospatialAnchor](https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARGeospatialAnchor) | The `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARGeospatialAnchor#classGoogle_1_1XR_1_1ARCoreExtensions_1_1ARGeospatialAnchor` is an ARCore Extensions object that provides a similar service to AR Foundation's `ARAnchor` as an anchor for game objects in your scene. |
| [Google.XR.ARCoreExtensions.ARPlaybackManager](https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARPlaybackManager) | Provides access to session playback functionality. |
| [Google.XR.ARCoreExtensions.ARRaycastManagerExtensions](https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARRaycastManagerExtensions) | Extensions to AR Foundation's `ARRaycastManager` class. |
| [Google.XR.ARCoreExtensions.ARRecordingManager](https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARRecordingManager) | Provides access to session recording functionality. |
| [Google.XR.ARCoreExtensions.ARSemanticManager](https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARSemanticManager) | Provides access to the Scene Semantics API. |
| [Google.XR.ARCoreExtensions.ARStreetscapeGeometry](https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARStreetscapeGeometry) | Defines geometry such as terrain, buildings, or other structures obtained from the Streetscape Geometry API. |
| [Google.XR.ARCoreExtensions.ARStreetscapeGeometryManager](https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARStreetscapeGeometryManager) | Provides ARCore Geospatial Streetscape Geometry APIs. |
| [Google.XR.ARCoreExtensions.HostCloudAnchorPromise](https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/HostCloudAnchorPromise) | An `https://developers.google.com/ar/reference/unity-arf/other` launched by `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARAnchorManagerExtensions#hostcloudanchorasync` with result type `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/HostCloudAnchorResult#classGoogle_1_1XR_1_1ARCoreExtensions_1_1HostCloudAnchorResult`. |
| [Google.XR.ARCoreExtensions.HostCloudAnchorResult](https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/HostCloudAnchorResult) | Result object from `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/HostCloudAnchorPromise#classGoogle_1_1XR_1_1ARCoreExtensions_1_1HostCloudAnchorPromise` containing the hosted Cloud Anchor ID and final state. |
| [Google.XR.ARCoreExtensions.ResolveAnchorOnRooftopPromise](https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ResolveAnchorOnRooftopPromise) | An `https://developers.google.com/ar/reference/unity-arf/other` launched by `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARAnchorManagerExtensions#resolveanchoronrooftopasync` with result type `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ResolveAnchorOnRooftopResult#classGoogle_1_1XR_1_1ARCoreExtensions_1_1ResolveAnchorOnRooftopResult`. |
| [Google.XR.ARCoreExtensions.ResolveAnchorOnRooftopResult](https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ResolveAnchorOnRooftopResult) | Contains the result of a `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ResolveAnchorOnRooftopPromise#classGoogle_1_1XR_1_1ARCoreExtensions_1_1ResolveAnchorOnRooftopPromise`. |
| [Google.XR.ARCoreExtensions.ResolveAnchorOnTerrainPromise](https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ResolveAnchorOnTerrainPromise) | An `https://developers.google.com/ar/reference/unity-arf/other` launched by `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARAnchorManagerExtensions#resolveanchoronterrainasync` with result type `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ResolveAnchorOnTerrainResult#classGoogle_1_1XR_1_1ARCoreExtensions_1_1ResolveAnchorOnTerrainResult`. |
| [Google.XR.ARCoreExtensions.ResolveAnchorOnTerrainResult](https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ResolveAnchorOnTerrainResult) | Contains the result of a `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ResolveAnchorOnTerrainPromise#classGoogle_1_1XR_1_1ARCoreExtensions_1_1ResolveAnchorOnTerrainPromise`. |
| [Google.XR.ARCoreExtensions.ResolveCloudAnchorPromise](https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ResolveCloudAnchorPromise) | An `https://developers.google.com/ar/reference/unity-arf/other` launched by `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARAnchorManagerExtensions#resolvecloudanchorasync` with result type `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ResolveCloudAnchorResult#classGoogle_1_1XR_1_1ARCoreExtensions_1_1ResolveCloudAnchorResult`. |
| [Google.XR.ARCoreExtensions.ResolveCloudAnchorResult](https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ResolveCloudAnchorResult) | Result object from `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ResolveCloudAnchorPromise#classGoogle_1_1XR_1_1ARCoreExtensions_1_1ResolveCloudAnchorPromise` containing the resolved Cloud Anchor and Anchor state. |
| [Google.XR.ARCoreExtensions.VersionInfo](https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/VersionInfo) | Provides access to information about the current ARCore Extensions package runtime. |
| [Google.XR.ARCoreExtensions.VpsAvailabilityPromise](https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/VpsAvailabilityPromise) | An `https://developers.google.com/ar/reference/unity-arf/other` launched by `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/AREarthManager#checkvpsavailabilityasync` with result type `https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#vpsavailability`. |
| [Google.XR.ARCoreExtensions.XRCameraConfigurationExtensions](https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/XRCameraConfigurationExtensions) | Extensions to AR Subsystem's XRCameraConfiguration struct. |
| [Google.XR.ARCoreExtensions.XRCameraFrameExtensions](https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/XRCameraFrameExtensions) | Extensions to AR Subsystem's XRCameraFrame struct. |

| ### Structs ||
|---|---|
| [Google.XR.ARCoreExtensions.ARStreetscapeGeometriesChangedEventArgs](https://developers.google.com/ar/reference/unity-arf/struct/Google/XR/ARCoreExtensions/ARStreetscapeGeometriesChangedEventArgs) | Event arguments for the `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARStreetscapeGeometryManager#streetscapegeometrieschanged` event. |
| [Google.XR.ARCoreExtensions.GeospatialPose](https://developers.google.com/ar/reference/unity-arf/struct/Google/XR/ARCoreExtensions/GeospatialPose) | Describes a specific location, elevation, and compass heading relative to Earth. |
| [Google.XR.ARCoreExtensions.Track](https://developers.google.com/ar/reference/unity-arf/struct/Google/XR/ARCoreExtensions/Track) | Definition of a track to record on. |
| [Google.XR.ARCoreExtensions.TrackData](https://developers.google.com/ar/reference/unity-arf/struct/Google/XR/ARCoreExtensions/TrackData) | Data that was recorded to an external `https://developers.google.com/ar/reference/unity-arf/struct/Google/XR/ARCoreExtensions/Track#structGoogle_1_1XR_1_1ARCoreExtensions_1_1Track`. |

| ### Namespaces ||
|---|---|
| [Google.XR.ARCoreExtensions.GeospatialCreator](https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions/GeospatialCreator) |   |
| [Google.XR.ARCoreExtensions.Internal](https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions/Internal) |   |

## Enumerations

### CameraConfigDepthSensorUsage

```c#
 CameraConfigDepthSensorUsage
```
Type of hardware depth sensor usage for a camera config, such as a time-of-flight (ToF) sensor.

| Properties ||
|---|---|
| `DoNotUse` | Indicates that ARCore will not attempt to use a hardware depth sensor, such as a time-of-flight sensor (or ToF sensor), even if it is present. Most commonly used to filter camera configurations when the app requires exclusive access to the hardware depth sensor outside of ARCore, for example to support 3D mesh reconstruction. Available on all [ARCore supported devices](https://developers.google.com/ar/devices). |
| `RequireAndUse` | Indicates that a hardware depth sensor, such as a time-of-flight sensor (or ToF sensor), must be present on the device, and the hardware depth sensor will be used by ARCore. Not supported on all devices. |

### CameraConfigFacingDirection

```c#
 CameraConfigFacingDirection
```
Facing direction options for camera config.

| Properties ||
|---|---|
| `Back` | Back-facing (world) camera is enabled. Available on all [ARCore supported devices](https://developers.google.com/ar/devices). |
| `Front` | Front-facing (selfie) camera is enabled. See [ARCore supported devices](https://developers.google.com/ar/devices) for available camera configs by device. To limit distribution of your app to only devices that have a front-facing camera, use [uses-feature](https://developer.android.com/guide/topics/manifest/uses-feature-element#camera-hw-features) with `android.hardware.camera`. |

### CameraConfigStereoCameraUsage

```c#
 CameraConfigStereoCameraUsage
```
Stereo Camera usage options.

| Properties ||
|---|---|
| `DoNotUse` | ARCore will not attempt to use a stereo camera, even if one is present. Valid on all [ARCore supported devices](https://developers.google.com/ar/devices). |
| `RequireAndUse` | A stereo camera is present on the device and will be used by ARCore. Not available on all ARCore supported devices. |

### CameraConfigTargetFps

```c#
 CameraConfigTargetFps
```
The camera frame rate filter for the currently selected camera.

| Properties ||
|---|---|
| `Target30FPS` | Target 30fps camera capture frame rate. Available on all [ARCore supported devices](https://developers.google.com/ar/devices). |
| `Target60FPS` | Target 60fps camera capture frame rate. Increases power consumption and may increase app memory usage. See the [ARCore supported devices](https://developers.google.com/ar/devices) page for a list of devices that currently support 60fps. |

### CloudAnchorMode

```c#
 CloudAnchorMode
```
Describes the desired behavior of the ARCore Cloud Anchor API.

The Cloud Anchors API uses feature maps to persist an anchor throughout sessions and across devices. See the [Cloud Anchors developer guide](https://developers.google.com/ar/develop/unity-arf/cloud-anchors/developer-guide) for more information.

The default value is `CloudAnchorMode.Disabled`. Use `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARCoreExtensionsConfig#cloudanchormode` to set the desired mode.

| Properties ||
|---|---|
| `Disabled` | The Cloud Anchor API is disabled. Calling `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARAnchorManagerExtensions#hostcloudanchorasync` and `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARAnchorManagerExtensions#resolvecloudanchorasync` will cause the promise to fail immediately. This is the default value. |
| `Enabled` | The Cloud Anchor API is enabled. `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARAnchorManagerExtensions#hostcloudanchorasync` and `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARAnchorManagerExtensions#resolvecloudanchorasync` can be used to host and resolve Cloud Anchors. Using this mode requires your app to do the following: - On Android: Include the [`ACCESS_INTERNET`](https://developer.android.com/training/basics/network-ops/connecting) permission to the app's AndroidManifest, - Configure [authorization](https://developers.google.com/ar/develop/unity-arf/cloud-anchors/developer-guide). <br /> Use `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARCoreExtensionsConfig#cloudanchormode` to set this mode. |

### CloudAnchorState

```c#
 CloudAnchorState
```
Result status of a Cloud Anchor hosting or resolving operation.

| Properties ||
|---|---|
| `ErrorHostingDatasetProcessingFailed` | Hosting failed because the server could not successfully process the dataset for the given Cloud Anchor. The developer should try again after the devices has gathered more data from the environment. |
| `ErrorHostingServiceUnavailable` | The ARCore API was unreachable. This can happen because of a number of reasons. The device may be in airplane mode or does not have a working internet connection. The request sent to the server could have timed out with no response, there could be a bad network connection, DNS unavailability, firewall issues, or anything that could affect the device's ability to connect to the ARCore API. |
| `ErrorInternal` | A hosting or resolving task for this Cloud Anchor has completed with an internal error. The app should not attempt to recover from this error. |
| `ErrorNotAuthorized` | The app cannot communicate with the ARCore API because of an invalid authentication. Check Project Settings \> XR Plug-in Management \> ARCore Extensions for a valid authentication strategy. |
| `ErrorResolvingCloudIdNotFound` | Resolving failed because the ARCore API could not find the provided Cloud Anchor Id. |
| `ErrorResolvingPackageTooNew` | The Cloud Anchor could not be acquired because the ARCore Extensions package used to host the Cloud Anchor was older than and incompatible with the version being used to acquire it. |
| `ErrorResolvingPackageTooOld` | The Cloud Anchor could not be resolved because the ARCore Extensions package used to host the Cloud Anchor was newer than and incompatible with the version being used to acquire it. |
| `ErrorResourceExhausted` | The application has exhausted the request quota alloted to the given API key. The developer should request additional quota for the ARCore API for their API key from the Google Cloud Developers Console. |
| `None` | Not a valid value for a Cloud Anchor hosting or resolving operation. |
| `Success` | A hosting or resolving task for this Cloud Anchor has completed successfully. |
| `TaskInProgress` | A hosting or resolving task is in progress for this Cloud Anchor. Once the task completes in the background, the Cloud Anchor will get a new state after the next update. **[Deprecated.](https://developers.google.com/ar/reference/unity-arf/deprecated/deprecated)** Not returned by async methods - replaced by `PromiseState.Pending`. |

### EarthState

```c#
 EarthState
```
Describes the current state of Earth localization.

When `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/AREarthManager#earthtrackingstate` does not become `UnityEngine.XR.ARSubsystems.TrackingState.Tracking`, `https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#earthstate` may contain the cause of this failure.

| Properties ||
|---|---|
| `Enabled` | Earth localization is enabled, and has not encountered any problems. Check `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/AREarthManager#earthtrackingstate` to determine if the Geospatial API can be used. |
| `ErrorEarthNotReady` | Failed to acquire Earth. This is returned when the current session is initializing Geospatial functionalities. This state should not be active for more than a few frames. |
| `ErrorGeospatialModeDisabled` | Earth localization has been disabled on this session. All `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARGeospatialAnchor#classGoogle_1_1XR_1_1ARCoreExtensions_1_1ARGeospatialAnchor` created during this session will have `https://docs.unity3d.com/Packages/com.unity.xr.arsubsystems@4.2/api/UnityEngine.XR.ARSubsystems.XRCpuImage.html` set to `UnityEngine.XR.ARSubsystems.TrackingState.None` and should be destroyed. |
| `ErrorInternal` | Earth localization has encountered an internal error. The app should not attempt to recover from this error. Please see application logs for additional information. |
| `ErrorNotAuthorized` | The authorization provided by the application is not valid. - The Google Cloud project may not have enabled the ARCore API. - When using API key authentication, this will happen if the API key in the manifest is invalid, unauthorized. It may also fail if the API key is restricted to a set of apps not including the current one. - When using keyless authentication, this may happen when no OAuth client has been created, or when the signing key and package name combination does not match the values used in the Google Cloud project. On Android, it may also fail if Google Play Services isn't installed, is too old, or is malfunctioning for some reason (e.g. killed due to memory pressure). <br /> |
| `ErrorPackageTooOld` | The package is older than the supported version. |
| `ErrorResourcesExhausted` | The application has exhausted the quota allotted to the given Google Cloud project. The developer should [request additional quota](https://cloud.google.com/docs/quota#requesting_higher_quota) for the ARCore API for their project from the Google Cloud Console. |
| `ErrorSessionNotReady` | Failed to find a valid ARCore session. This is returned when the session is not active or not fully initialized, see `https://docs.unity3d.com/Packages/com.unity.xr.arfoundation@4.2/api/UnityEngine.XR.ARFoundation.ARSession.html#UnityEngine_XR_ARFoundation_ARSession_state` for details on the state of the session. |

### FeatureMapQuality

```c#
 FeatureMapQuality
```
Indicates the quality of feature points seen by ARCore in the preceding few seconds from a given camera `Pose`.

A higher quality indicates that a Cloud Anchor hosted at the current time, with the current set of recently seen feature points, is generally easier to resolve more accurately. See the [Cloud Anchors developer guide](https://developers.google.com/ar/develop/unity-arf/cloud-anchors/developer-guide) for more information.

| Properties ||
|---|---|
| `Good` | The quality of feature points seen from the pose in the preceding few seconds is likely sufficient for ARCore to successfully resolve a Cloud Anchor with a high degree of accuracy. |
| `Insufficient` | The quality of feature points seen from the pose in the preceding few seconds is low. This state indicates that ARCore will likely have more difficulty resolving the Cloud Anchor. Encourage the user to move the device, so that the desired position of the Cloud Anchor to be hosted is seen from different angles. |
| `Sufficient` | The quality of feature points seen from the pose in the preceding few seconds is likely sufficient for ARCore to successfully resolve a Cloud Anchor, although the accuracy of the resolved pose will likely be reduced. Encourage the user to move the device, so that the desired position of the Cloud Anchor to be hosted is seen from different angles. |

### FeatureSupported

```c#
 FeatureSupported
```
Indicates whether a feature or capability is supported on the device.

| Properties ||
|---|---|
| `Supported` | The feature or capability is supported. |
| `Unknown` | Support is unknown. This could be because support is still being determined. |
| `Unsupported` | The feature or capability is not supported. |

### GeospatialMode

```c#
 GeospatialMode
```
Describes the desired behavior of the ARCore Geospatial API.

The Geospatial API uses a combination of Google's Visual Positioning [System](https://docs.microsoft.com/en-us/dotnet/api/System) (VPS) and GPS to determine the geospatial pose.

The Geospatial API is able to provide the best user experience when it is able to generate high accuracy poses. However, the Geospatial API can be used anywhere, as long as the device is able to determine its location, even if the available location information has low accuracy.


- In areas with VPS coverage, the Geospatial API is able to generate high accuracy poses. This can work even where GPS accuracy is low, such as dense urban environments. Under typical conditions, VPS can be expected to provide positional accuracy typically better than 5 meters and often around 1 meter, and a rotational accuracy of better than 5 degrees. Use `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/AREarthManager#checkvpsavailabilityasync` to determine if a given location has VPS coverage.
- In outdoor environments with few or no overhead obstructions, GPS may be sufficient to generate high accuracy poses. GPS accuracy may be low in dense urban environments and indoors.

<br />

A small number of ARCore supported devices do not support the Geospatial API. Use `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/AREarthManager#isgeospatialmodesupported` to determine if the current device is supported. Affected devices are also indicated on the [ARCore supported devices page](https://developers.google.com/ar/devices).

When the Geospatial API and the Depth API are enabled, output images from the Depth API will include terrain and building geometry when in a location with VPS coverage. See the [Geospatial Depth Developer Guide](https://developers.google.com/ar/develop/unity-arf/depth/geospatial-depth) for more information.

The default value is `GeospatialMode.Disabled`. Use `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARCoreExtensionsConfig#geospatialmode` to set the desired mode.

| Properties ||
|---|---|
| `Disabled` | The Geospatial API is disabled. When a configuration with `Disabled` becomes active on the AR session, current anchors created from `ARAnchorManagerExtensions.AddAnchor( UnityEngine.XR.ARFoundation.ARAnchorManager, double, double, double, UnityEngine.Quaternion)` will stop updating and have their `https://docs.unity3d.com/Packages/com.unity.xr.arsubsystems@4.2/api/UnityEngine.XR.ARSubsystems.UnityEngine.XR.ARSubsystems.TrackingState.html` set to `UnityEngine.XR.ARSubsystems.TrackingState.None`. ARCore Extensions will not request location permissions. |
| `Enabled` | The Geospatial API is enabled, and `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/AREarthManager#classGoogle_1_1XR_1_1ARCoreExtensions_1_1AREarthManager` can be used. Using this mode requires your app do the following: - On Android, be granted the [Android `ACCESS_FINE_LOCATION` permission](https://developer.android.com/training/location/permissions). ARCore Extensions will request this permission when Geospatial is enabled in ARCore Extensions Project Settings \> Optional Features. - On Android, have enabled Unity's Internet Access permission in [Android Player Settings](https://docs.unity3d.com/Manual/class-PlayerSettingsAndroid.html). - On iOS, have at least [`CLAuthorizationStatus authorizedWhenInUse`](https://developer.apple.com/documentation/corelocation/clauthorizationstatus) and [`CLAccuracyAuthorization fullAccuracy`](https://developer.apple.com/documentation/corelocation/claccuracyauthorization) in iOS's Location Services permissions. <br /> Location is tracked only while `ARSession` is enabled. While it is disabled, `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/AREarthManager#earthtrackingstate` will be `UnityEngine.XR.ARSubsystems.TrackingState.None`. For more information, see documentation on [the Geospatial API on Google Developers](https://developers.google.com/ar/develop/unity-arf/geospatial/developer-guide-android). This mode is not compatible with the `CameraFacingDirection.User` (selfie) camera; use the `CameraFacingDirection.World` camera instead. Not all devices support this mode, use `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/AREarthManager#isgeospatialmodesupported` to check if the current device and selected camera support enabling this mode. When the Geospatial API and the Depth API are enabled, output images from the Depth API will include terrain and building geometry when in a location with VPS coverage. See the [Geospatial Depth Developer Guide](https://developers.google.com/ar/develop/unity-arf/depth/geospatial-depth) for more information. |

### PlaybackResult

```c#
 PlaybackResult
```
Results from attempting to set playback dataset filepath.

| Properties ||
|---|---|
| `ErrorPlaybackFailed` | Playback failed. |
| `ErrorSessionNotPaused` | The session was not paused when setting the playback dataset. |
| `ErrorSessionUnsupported` | Operation is unsupported with the current session. |
| `OK` | The request completed successfully. |
| `SessionNotReady` | The call to `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARPlaybackManager#setplaybackdataset` failed because ARCore is currently attempting to resume or pause the session. Try calling it again in the next frame. Note: - Resuming session may require several frames to complete. - Pausing session may take up to 10 seconds to pause. <br /> |

### PlaybackStatus

```c#
 PlaybackStatus
```
Describes the current playback status.

| Properties ||
|---|---|
| `FinishedSuccess` | Playback has finished successfully. The session is waiting on the final frame of the dataset. To resume a live camera feed or play another dataset, pause the session, call `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARPlaybackManager#setplaybackdataset`, and resume the session. |
| `IOError` | Playback has stopped due to an error. |
| `None` | The session is not playing back a dataset. |
| `OK` | Playback is in process without issues. |

### PromiseState

```c#
 PromiseState
```
Describes state of an async operation.

| Properties ||
|---|---|
| `Cancelled` | The operation has been cancelled. |
| `Done` | The operation is completed and the result is available. |
| `Pending` | The operation is still pending. It may still be possible to cancel the operation. The result of the operation isn't available yet. |

### RecordingResult

```c#
 RecordingResult
```
Results from recording methods.

| Properties ||
|---|---|
| `ErrorIllegalState` | When using `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARRecordingManager#startrecording`, this means a recording is already in progress. When using `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARRecordingManager#recordtrackdata`, this means either `https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#recordingstatus` is not currently `RecordingStatus.OK` or the system is currently under excess load for images to be produced. The system should not be under such excess load for more than a few frames and an app should try to record the data again during the next frame. |
| `ErrorInvalidArgument` | When using `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARRecordingManager#startrecording`, this means the `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARCoreRecordingConfig#classGoogle_1_1XR_1_1ARCoreExtensions_1_1ARCoreRecordingConfig` was null or invalid. When using `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARRecordingManager#recordtrackdata`, this means the track id or payload given are null or invalid. |
| `ErrorRecordingFailed` | IO or other general failure. |
| `OK` | The request completed successfully. |
| `SessionNotReady` | The call to `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARRecordingManager#startrecording` failed because ARCore is currently attempting to resume or pause the session. Try calling it again in the next frame. Note: - Resuming session may require several frames to complete. - Pausing session may take up to 10 seconds to pause. <br /> |

### RecordingStatus

```c#
 RecordingStatus
```
Describes the current recording status.

| Properties ||
|---|---|
| `IOError` | There was an IO error while recording. |
| `None` | The recorder is not recording. |
| `OK` | The recorder is recording normally. |

### RooftopAnchorState

```c#
 RooftopAnchorState
```
Describes the Rooftop anchor state of an synchronous operation launched by `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARAnchorManagerExtensions#resolveanchoronrooftopasync`.

Obttained by `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ResolveAnchorOnRooftopResult#rooftopanchorstate`.

| Properties ||
|---|---|
| `ErrorInternal` | A resolving task for this Rooftop anchor has completed with an internal error. The app should not attempt to recover from this error. |
| `ErrorNotAuthorized` | The app cannot communicate with the ARCore Cloud because of an invalid authentication. Check Project Settings \> XR Plug-in Management \> ARCore Extensions for a valid authentication strategy. |
| `ErrorUnsupportedLocation` | There is no rooftop or terrain information at this location, such as the center of the ocean. |
| `None` | Not a valid value for a Rooftop anchor operation. |
| `Success` | A resolving task for this Rooftop anchor has completed successfully. |

### SemanticLabel

```c#
 SemanticLabel
```
Defines the labels the Scene Semantics API is able to detect and maps human-readable names to per-pixel semantic labels.

See the [Scene Semantics Developer Guide](https://developers.google.com/ar/develop/unity-arf/scene-semantics) for more information.

Use `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARSemanticManager#trygetsemantictexture` to obtain an image containing these pixels and `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARSemanticManager#trygetsemanticconfidencetexture`, and `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARSemanticManager#getsemanticlabelfraction` to query what percentage of the image contains these pixels.

| Properties ||
|---|---|
| `Building` | Pixels of buildings, including houses, garages, etc. Includes all structures attached to the building, such as signs, solar panels, scaffolding, etc. |
| `Object` | Pixels of general temporary and permanent objects and obstacles, including street signs, traffic signs, free-standing business signs, billboards, poles, mailboxes, fire hydrants, street lights, phone booths, bus stop enclosures, cones, parking meters, animals, etc. |
| `Person` | Pixels of humans, including pedestrians and bicycle/motorcycle riders. |
| `Road` | Pixels of drivable surfaces for vehicles, including paved, unpaved, dirt, driveways, crosswalks, etc. |
| `Sidewalk` | Pixels of sidewalks for pedestrians and cyclists, including associated curbs. |
| `Sky` | Pixels of the open sky, including clouds. Thin electrical wires in front of the sky are included, but leaves/vegetation are not included. |
| `Structure` | Pixels of structures that are not buildings, including fences, guardrails, stand-alone walls, tunnels, bridges, etc. |
| `Terrain` | Pixels of walkable vegetation areas, including grass, soil, sand, mountains, etc. In contrast, 'tree' specifies non-walkable vegetation, like trees and bushes. |
| `Tree` | Pixels of non-walkable vegetation, like trees and shrubs. In contrast, 'terrain' specifies walkable vegetation, like grass. |
| `Unlabeled` | Pixels with no semantic label available in the API output. |
| `Vehicle` | Pixels of vehicles, including cars, vans, buses, trucks, motorcycles, bicycles, trains, etc. |
| `Water` | Pixels of ground surfaces covered by water, including lakes, rivers, etc. |

### SemanticMode

```c#
 SemanticMode
```
Describes the desired behavior of Scene Semantics.

Scene Semantics uses a machine learning model to label each pixel from the camera feed with a `https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#semanticlabel`. See the [Scene Semantics Developer Guide](https://developers.google.com/ar/develop/unity-arf/scene-semantics) for more information.

The Scene Semantics API is currently able to distinguish between outdoor labels specified by `https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#semanticlabel`. Usage indoors is currently unsupported and may yield unreliable results.

A small number of ARCore supported devices do not support the Scene Semantics API. Use `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARSemanticManager#issemanticmodesupported` to query for support for Scene Semantics. Affected devices are also indicated on the [ARCore supported devices page](https://developers.google.com/ar/devices).

The default value is `SemanticMode.Disabled`.

| Properties ||
|---|---|
| `Disabled` | The Scene Semantics API is disabled. Calls to `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARSemanticManager#trygetsemantictexture`, `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARSemanticManager#trygetsemanticconfidencetexture`, and `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARSemanticManager#getsemanticlabelfraction` will not return valid results. This is the default mode. |
| `Enabled` | The Scene Semantics API is enabled. Calls to `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARSemanticManager#trygetsemantictexture`, `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARSemanticManager#trygetsemanticconfidencetexture`, and `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARSemanticManager#getsemanticlabelfraction` will return valid results. |

### StreetscapeGeometryMode

```c#
 StreetscapeGeometryMode
```
Describes the desired behavior of the Geospatial Streetscape Geometry API.

The Streetscape Geometry API provides polygon meshes of terrain, buildings, and other structures in a radius surrounding the device. See the [Streetscape Geometry Developer Guide](https://developers.google.com/ar/develop/unity-arf/geospatial/streetscape-geometry) for additional information.

When Streetscape Geometry is enabled, `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARStreetscapeGeometryManager#classGoogle_1_1XR_1_1ARCoreExtensions_1_1ARStreetscapeGeometryManager` can be used.

The Streetscape Geometry API requires both `https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#streetscapegeometrymode` to be set to `StreetscapeGeometryMode.Enabled` and `https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#geospatialmode` to be set to `GeospatialMode.Enabled`.

The default value is `StreetscapeGeometryMode.Disabled`. Use `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARCoreExtensionsConfig#streetscapegeometrymode` to set the desired mode.

| Properties ||
|---|---|
| `Disabled` | The Streetscape Geometry API is disabled. This is the default mode. |
| `Enabled` | The Streetscape Geometry API is enabled. `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARStreetscapeGeometryManager#classGoogle_1_1XR_1_1ARCoreExtensions_1_1ARStreetscapeGeometryManager` can be used. Use `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARCoreExtensionsConfig#streetscapegeometrymode` to set this mode. |

### StreetscapeGeometryQuality

```c#
 StreetscapeGeometryQuality
```
Describes the quality of the mesh data.

The values correspond to the levels of detail (LOD) defined by the [CityGML 2.0 standard](https://portal.ogc.org/files/?artifact_id=16675).

Obtained by `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARStreetscapeGeometry#quality`.

| Properties ||
|---|---|
| `BuildingLOD1` | The `StreetscapeGeometryType.Building` geometry is the building footprint extruded up to a single flat top. The building contains empty space above any angled roofs. |
| `BuildingLOD2` | The `StreetscapeGeometryType.Building` geometry is the building footprint with rough heightmap. The geometry will closely follow simple angled roofs. Chimneys and roof vents on top of roofs will poke outside of the mesh. |
| `None` | The quality of the geometry is not defined, e.g. when the `https://developers.google.com/ar/reference/unity-arf/namespace/Google/XR/ARCoreExtensions#streetscapegeometrytype` is `StreetscapeGeometryType.Terrain`. |

### StreetscapeGeometryType

```c#
 StreetscapeGeometryType
```
Describes the type of a Streetscape Geometry.

Obtained by `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARStreetscapeGeometry#streetscapegeometrytype`.

| Properties ||
|---|---|
| `Building` | This geometry represents a building. |
| `Terrain` | This geometry represents the ground or floor. |

### TerrainAnchorState

```c#
 TerrainAnchorState
```
Describes the result of a Terrain anchor resolving operation.

| Properties ||
|---|---|
| `ErrorInternal` | A resolving task for this Terrain anchor has completed with an internal error. The app should not attempt to recover from this error. |
| `ErrorNotAuthorized` | The app cannot communicate with the ARCore Cloud because of an invalid authentication. Check Project Settings \> XR Plug-in Management \> ARCore Extensions for a valid authentication strategy. |
| `ErrorUnsupportedLocation` | There is no terrain info at this location, such as the center of the ocean. |
| `None` | Not a valid value for a Terrain anchor operation. |
| `Success` | A resolving task for this Terrain anchor has completed successfully. |
| `TaskInProgress` | A resolving task is in progress for this Terrain anchor. Once the task completes in the background, the Terrain anchor will get a new state after the next update. **[Deprecated.](https://developers.google.com/ar/reference/unity-arf/deprecated/deprecated)** Not returned by async methods. Replaced by `PromiseState.Pending`. |

### VpsAvailability

```c#
 VpsAvailability
```
Describes the result of checking VPS availability at specific location.

| Properties ||
|---|---|
| `Available` | VPS is available at the requested location. |
| `ErrorInternal` | An internal error occurred while determining availability. |
| `ErrorNetworkConnection` | The external service could not be reached due to a network connection error. |
| `ErrorNotAuthorized` | An authorization error occurred when communicating with the Google Cloud ARCore API. See [Enable the Geospatial API](https://developers.google.com/ar/develop/unity-arf/geospatial/enable) for troubleshooting steps. |
| `ErrorResourceExhausted` | Too many requests were sent. |
| `Unavailable` | VPS is not available at the requested location. |
| `Unknown` | The request to the remote service is not yet completed, so the availability is not yet known, or the AR Subsystem is not ready yet. |