# UAndroidXRSpatialEntitiesSubsystem

`#include <AndroidXRSpatialTrackingSubsystem.h>`

The base class of all spatial tracking subsystems.

<br />

## Summary

### Inheritance

Inherits from: [`UAndroidXRTrackingSubsystem`](https://developer.android.com/develop/xr/unreal/reference/class/UAndroidXRTrackingSubsystem)  
Direct Known Subclasses: [`UAndroidXRSpatialAnchorsSubsystem`](https://developer.android.com/develop/xr/unreal/reference/class/UAndroidXRSpatialAnchorsSubsystem), [`UAndroidXRSpatialDepthRaycastSubsystem`](https://developer.android.com/develop/xr/unreal/reference/class/UAndroidXRSpatialDepthRaycastSubsystem), [`UAndroidXRSpatialMarkerTrackingSubsystem`](https://developer.android.com/develop/xr/unreal/reference/class/UAndroidXRSpatialMarkerTrackingSubsystem), [`UAndroidXRSpatialPlaneTrackingSubsystem`](https://developer.android.com/develop/xr/unreal/reference/class/UAndroidXRSpatialPlaneTrackingSubsystem)

| ### Public functions ||
|---|---|
| `https://developer.android.com/develop/xr/unreal/reference/class/UAndroidXRSpatialEntitiesSubsystem#creatediscoverysnapshotrequest()` | `bool` Creates a spatial discovery snapshot request. |
| `https://developer.android.com/develop/xr/unreal/reference/class/UAndroidXRSpatialEntitiesSubsystem#createtracker() override` | `virtual void` |
| `https://developer.android.com/develop/xr/unreal/reference/class/UAndroidXRSpatialEntitiesSubsystem#destroytracker() override` | `virtual void` |
| `https://developer.android.com/develop/xr/unreal/reference/class/UAndroidXRSpatialEntitiesSubsystem#getcapabilityinfo(https://developer.android.com/develop/xr/unreal/reference/other/AndroidXRSpatialEntitiesTypes.h#espatialcapability Capability, https://developer.android.com/develop/xr/unreal/reference/struct/FAndroidXRSpatialCapabilityInfo#struct_f_android_x_r_spatial_capability_info & CapabilityInfo)` | `bool` Gets the capability info for a given capability. |
| `https://developer.android.com/develop/xr/unreal/reference/class/UAndroidXRSpatialEntitiesSubsystem#getsupportedcapabilities(TArray< https://developer.android.com/develop/xr/unreal/reference/other/AndroidXRSpatialEntitiesTypes.h#espatialcapability > & Capabilities)` | `bool` Gets all the supported capabilities. |
| `https://developer.android.com/develop/xr/unreal/reference/class/UAndroidXRSpatialEntitiesSubsystem#initialize(FSubsystemCollectionBase & Collection) override` | `void` |
| `https://developer.android.com/develop/xr/unreal/reference/class/UAndroidXRSpatialEntitiesSubsystem#isready() const ` | `bool` Whether the underlying tracking subsystem is ready or not. |

| ### Protected functions ||
|---|---|
| `https://developer.android.com/develop/xr/unreal/reference/class/UAndroidXRSpatialEntitiesSubsystem#bindentityevents()` | `virtual void` |
| `https://developer.android.com/develop/xr/unreal/reference/class/UAndroidXRSpatialEntitiesSubsystem#getcapabilitymodule()` | `virtual https://developer.android.com/develop/xr/unreal/reference/class/FAndroidXRSpatialCapabilityModule#class_f_android_x_r_spatial_capability_module *` |
| `https://developer.android.com/develop/xr/unreal/reference/class/UAndroidXRSpatialEntitiesSubsystem#unbindentityevents()` | `virtual void` |

## Public functions

### CreateDiscoverySnapshotRequest

```
bool CreateDiscoverySnapshotRequest()
```
Creates a spatial discovery snapshot request.

<br />

| Details ||
|---|---|
| **Returns** | Whether the discovery request was created or not |

### CreateTracker

```
virtual void CreateTracker() override
```

### DestroyTracker

```
virtual void DestroyTracker() override
```

### GetCapabilityInfo

```
bool GetCapabilityInfo(
  ESpatialCapability Capability,
  FAndroidXRSpatialCapabilityInfo & CapabilityInfo
)
```
Gets the capability info for a given capability.

<br />

Details Parameters `The` capability to get the information for `The` capability info **Returns** Whether the underlying API call was successful

### GetSupportedCapabilities

```
bool GetSupportedCapabilities(
  TArray< ESpatialCapability > & Capabilities
)
```
Gets all the supported capabilities.

<br />

Details Parameters `An` array of supported capabilities **Returns** Whether the underlying API call was successful

### Initialize

```
void Initialize(
  FSubsystemCollectionBase & Collection
) override
```

### IsReady

```
bool IsReady() const 
```
Whether the underlying tracking subsystem is ready or not.

<br />

| Details ||
|---|---|
| **Returns** | The tracking status of the underlying spatial tracking subsystem |

## Protected functions

### BindEntityEvents

```
virtual void BindEntityEvents()
```

### GetCapabilityModule

```
virtual FAndroidXRSpatialCapabilityModule * GetCapabilityModule()
```

### UnbindEntityEvents

```
virtual void UnbindEntityEvents()
```