# ARStreetscapeGeometryManager

Provides ARCore Geospatial Streetscape Geometry APIs.

See the [Streetscape Geometry Developer Guide](https://developers.google.com/ar/develop/unity-arf/geospatial/streetscape-geometry) for additional information.

## Summary

### Inheritance

Inherits from: [`UnityEngine::MonoBehaviour`](https://docs.unity3d.com/ScriptReference/MonoBehaviour.html)

| ### Public attributes ||
|---|---|
| `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARStreetscapeGeometryManager#anchorprefab = null` | `https://docs.unity3d.com/ScriptReference/GameObject.html` The 3D object that represents an `ARAnchor`s. |

| ### Events ||
|---|---|
| `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARStreetscapeGeometryManager#streetscapegeometrieschanged` | `Action< https://developers.google.com/ar/reference/unity-arf/struct/Google/XR/ARCoreExtensions/ARStreetscapeGeometriesChangedEventArgs#structGoogle_1_1XR_1_1ARCoreExtensions_1_1ARStreetscapeGeometriesChangedEventArgs >` Invoked when Streetscape Geometries have changed (added, updated, or removed). |

| ### Public functions ||
|---|---|
| `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARStreetscapeGeometryManager#attachanchor(https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARStreetscapeGeometry#classGoogle_1_1XR_1_1ARCoreExtensions_1_1ARStreetscapeGeometry geometry, https://docs.unity3d.com/ScriptReference/Pose.html pose)` | `https://docs.unity3d.com/Packages/com.unity.xr.arfoundation@4.2/api/UnityEngine.XR.ARFoundation.ARAnchor.html` Attempts to create a new anchor attached to `geometry`. |
| `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARStreetscapeGeometryManager#getstreetscapegeometry(https://docs.unity3d.com/Packages/com.unity.xr.arsubsystems@4.2/api/UnityEngine.XR.ARSubsystems.TrackableId.html trackableId)` | `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARStreetscapeGeometry#classGoogle_1_1XR_1_1ARCoreExtensions_1_1ARStreetscapeGeometry` Gets the `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARStreetscapeGeometry#classGoogle_1_1XR_1_1ARCoreExtensions_1_1ARStreetscapeGeometry` based on `trackableId`. |
| `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARStreetscapeGeometryManager#update()` | `void` Unity's [Update()](https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARStreetscapeGeometryManager#update) method. |

## Public attributes

### AnchorPrefab

```c#
GameObject AnchorPrefab = null
```
The 3D object that represents an `ARAnchor`s.

## Events

### StreetscapeGeometriesChanged

```c#
Action< ARStreetscapeGeometriesChangedEventArgs > StreetscapeGeometriesChanged
```
Invoked when Streetscape Geometries have changed (added, updated, or removed).

## Public functions

### AttachAnchor

```c#
ARAnchor AttachAnchor(
  ARStreetscapeGeometry geometry,
  Pose pose
)
```
Attempts to create a new anchor attached to `geometry`.

If `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARStreetscapeGeometryManager#anchorprefab` is not `null`, a new instance of that prefab will be instantiated. Otherwise, a new `GameObject` will be created. In either case, the resulting `GameObject` will have an `ARAnchor` component added to it.


Details Parameters `geometry` The `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARStreetscapeGeometry#classGoogle_1_1XR_1_1ARCoreExtensions_1_1ARStreetscapeGeometry` that this anchor will be associated with. `pose` The pose in Unity world space for the newly created anchor. **Returns** The `ARAnchor` if successful, otherwise `null`.

### GetStreetscapeGeometry

```c#
ARStreetscapeGeometry GetStreetscapeGeometry(
  TrackableId trackableId
)
```
Gets the `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARStreetscapeGeometry#classGoogle_1_1XR_1_1ARCoreExtensions_1_1ARStreetscapeGeometry` based on `trackableId`.


Details Parameters `trackableId` The id for the `https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARStreetscapeGeometry#classGoogle_1_1XR_1_1ARCoreExtensions_1_1ARStreetscapeGeometry`. **Returns** The [ARStreetscapeGeometry](https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARStreetscapeGeometry#classGoogle_1_1XR_1_1ARCoreExtensions_1_1ARStreetscapeGeometry) associated with this `TrackableId` if successful, `null` otherwise.

### Update

```c#
void Update()
```
Unity's [Update()](https://developers.google.com/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/ARStreetscapeGeometryManager#update) method.