# XRShareableAnchorSubsystemDescriptor

Indicates the capabilities supported by a provider of the [XRShareableAnchorSubsystem](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/ARSubsystems/XRShareableAnchorSubsystem#classGoogle_1_1XR_1_1Extensions_1_1ARSubsystems_1_1XRShareableAnchorSubsystem).

Provider implementations must derive from [XRShareableAnchorSubsystem.Provider](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/ARSubsystems/XRShareableAnchorSubsystem/Provider#classGoogle_1_1XR_1_1Extensions_1_1ARSubsystems_1_1XRShareableAnchorSubsystem_1_1Provider) and may override virtual class members.

## Summary

### Inheritance

Inherits from: `SubsystemDescriptorWithProvider< XRShareableAnchorSubsystem, XRShareableAnchorSubsystem.Provider >`

| ### Properties ||
|---|---|
| `https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/ARSubsystems/XRShareableAnchorSubsystemDescriptor#supportsasynccancellation` | `bool` Gets a value indicating whether the provider implementation supports cancelling async operations in progress using CancellationTokens. |
| `https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/ARSubsystems/XRShareableAnchorSubsystemDescriptor#supportsattachgeospatialanchor` | `bool` Gets a value indicating whether the provider implementation supports the ability to attach a geospatial anchor via [XRShareableAnchorSubsystem.TryAttachGeospatialAnchor](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/ARSubsystems/XRShareableAnchorSubsystem#tryattachgeospatialanchor). |
| `https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/ARSubsystems/XRShareableAnchorSubsystemDescriptor#supportsattachsurfaceanchor` | `bool` Gets a value indicating whether the provider implementation supports the ability to attach a surface anchor via [XRShareableAnchorSubsystem.TryAttachSurfaceAnchorAsync](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/ARSubsystems/XRShareableAnchorSubsystem#tryattachsurfaceanchorasync). |
| `https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/ARSubsystems/XRShareableAnchorSubsystemDescriptor#supportseraseanchor` | `bool` Gets a value indicating whether the provider implementation supports the ability to erase the persistent saved data associated with an anchor via [XRShareableAnchorSubsystem.TryEraseAnchorAsync](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/ARSubsystems/XRShareableAnchorSubsystem#tryeraseanchorasync). |
| `https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/ARSubsystems/XRShareableAnchorSubsystemDescriptor#supportsgetsavedanchorids` | `bool` Gets a value indicating whether the provider implementation supports the ability to get all saved persistent GUIDs via [XRShareableAnchorSubsystem.TryGetSavedAnchorIdsAsync](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/ARSubsystems/XRShareableAnchorSubsystem#trygetsavedanchoridsasync). |
| `https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/ARSubsystems/XRShareableAnchorSubsystemDescriptor#supportsloadanchor` | `bool` Gets a value indicating whether the provider implementation supports the ability to load persistently saved anchors via [XRShareableAnchorSubsystem.TryLoadAnchorAsync](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/ARSubsystems/XRShareableAnchorSubsystem#tryloadanchorasync). |
| `https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/ARSubsystems/XRShareableAnchorSubsystemDescriptor#supportssaveanchor` | `bool` Gets a value indicating whether the provider implementation supports the ability to persistently save anchors via [XRShareableAnchorSubsystem.TrySaveAnchorAsync](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/ARSubsystems/XRShareableAnchorSubsystem#trysaveanchorasync). |

| ### Public static functions ||
|---|---|
| `https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/ARSubsystems/XRShareableAnchorSubsystemDescriptor#register(https://developer.android.com/develop/xr/unity/reference/struct/Google/XR/Extensions/ARSubsystems/XRShareableAnchorSubsystemDescriptor/Cinfo#structGoogle_1_1XR_1_1Extensions_1_1ARSubsystems_1_1XRShareableAnchorSubsystemDescriptor_1_1Cinfo cinfo)` | `void` Creates a new subsystem descriptor instance and registers it with the SubsystemManager. |

| ### Public functions ||
|---|---|
| `https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/ARSubsystems/XRShareableAnchorSubsystemDescriptor#getsupportedhosts()` | `https://developer.android.com/develop/xr/unity/reference/namespace/Google/XR/Extensions#xrshareableanchorhosts` Gets the supported hosts for shareable anchors. |

| ### Structs ||
|---|---|
| [Google.XR.Extensions.ARSubsystems.XRShareableAnchorSubsystemDescriptor.Cinfo](https://developer.android.com/develop/xr/unity/reference/struct/Google/XR/Extensions/ARSubsystems/XRShareableAnchorSubsystemDescriptor/Cinfo) | Contains the parameters necessary to construct a new [XRShareableAnchorSubsystemDescriptor](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/ARSubsystems/XRShareableAnchorSubsystemDescriptor#classGoogle_1_1XR_1_1Extensions_1_1ARSubsystems_1_1XRShareableAnchorSubsystemDescriptor) instance. |

## Properties

### supportsAsyncCancellation

```c#
bool supportsAsyncCancellation
```
Gets a value indicating whether the provider implementation supports cancelling async operations in progress using CancellationTokens.

If `false`, [XRShareableAnchorSubsystem](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/ARSubsystems/XRShareableAnchorSubsystem#classGoogle_1_1XR_1_1Extensions_1_1ARSubsystems_1_1XRShareableAnchorSubsystem) APIs that take a CancellationToken as input will ignore the input cancellation token.

### supportsAttachGeospatialAnchor

```c#
bool supportsAttachGeospatialAnchor
```
Gets a value indicating whether the provider implementation supports the ability to attach a geospatial anchor via [XRShareableAnchorSubsystem.TryAttachGeospatialAnchor](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/ARSubsystems/XRShareableAnchorSubsystem#tryattachgeospatialanchor).

### supportsAttachSurfaceAnchor

```c#
bool supportsAttachSurfaceAnchor
```
Gets a value indicating whether the provider implementation supports the ability to attach a surface anchor via [XRShareableAnchorSubsystem.TryAttachSurfaceAnchorAsync](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/ARSubsystems/XRShareableAnchorSubsystem#tryattachsurfaceanchorasync).

### supportsEraseAnchor

```c#
bool supportsEraseAnchor
```
Gets a value indicating whether the provider implementation supports the ability to erase the persistent saved data associated with an anchor via [XRShareableAnchorSubsystem.TryEraseAnchorAsync](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/ARSubsystems/XRShareableAnchorSubsystem#tryeraseanchorasync).

### supportsGetSavedAnchorIds

```c#
bool supportsGetSavedAnchorIds
```
Gets a value indicating whether the provider implementation supports the ability to get all saved persistent GUIDs via [XRShareableAnchorSubsystem.TryGetSavedAnchorIdsAsync](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/ARSubsystems/XRShareableAnchorSubsystem#trygetsavedanchoridsasync).

### supportsLoadAnchor

```c#
bool supportsLoadAnchor
```
Gets a value indicating whether the provider implementation supports the ability to load persistently saved anchors via [XRShareableAnchorSubsystem.TryLoadAnchorAsync](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/ARSubsystems/XRShareableAnchorSubsystem#tryloadanchorasync).

### supportsSaveAnchor

```c#
bool supportsSaveAnchor
```
Gets a value indicating whether the provider implementation supports the ability to persistently save anchors via [XRShareableAnchorSubsystem.TrySaveAnchorAsync](https://developer.android.com/develop/xr/unity/reference/class/Google/XR/Extensions/ARSubsystems/XRShareableAnchorSubsystem#trysaveanchorasync).

## Public static functions

### Register

```c#
void Register(
  Cinfo cinfo
)
```
Creates a new subsystem descriptor instance and registers it with the SubsystemManager.


Details Parameters `cinfo` Construction info for the descriptor.

## Public functions

### GetSupportedHosts

```c#
XRShareableAnchorHosts GetSupportedHosts()
```
Gets the supported hosts for shareable anchors.


| Details ||
|---|---|
| **Returns** | The host types which are supported by the provider. |