# UAndroidXRSpatialMarkerTrackingSubsystem

`#include <AndroidXRSpatialMarkerTrackingSubsystem.h>`

The marker tracking subsystem.

<br />

## Summary

### Inheritance

Inherits from: [`UAndroidXRSpatialEntitiesSubsystem`](https://developer.android.com/develop/xr/unreal/reference/class/UAndroidXRSpatialEntitiesSubsystem)

| ### Public attributes ||
|---|---|
| `https://developer.android.com/develop/xr/unreal/reference/class/UAndroidXRSpatialMarkerTrackingSubsystem#onspatialmarkeradded {}` | `FOnSpatialMarkerChangedDelegate` The callback for when a marker is added by the runtime. |
| `https://developer.android.com/develop/xr/unreal/reference/class/UAndroidXRSpatialMarkerTrackingSubsystem#onspatialmarkerremoved {}` | `FOnSpatialMarkerChangedDelegate` The callback for when a marker is removed by the runtime. |

| ### Public functions ||
|---|---|
| `https://developer.android.com/develop/xr/unreal/reference/class/UAndroidXRSpatialMarkerTrackingSubsystem#configuremarkertracking(const https://developer.android.com/develop/xr/unreal/reference/struct/FSpatialMarkerTrackingConfig#struct_f_spatial_marker_tracking_config & MarkerTrackingConfig)` | `void` Configures the marker tracking subsystem. |
| `https://developer.android.com/develop/xr/unreal/reference/class/UAndroidXRSpatialMarkerTrackingSubsystem#gettrackedmarkers(TArray< https://developer.android.com/develop/xr/unreal/reference/class/UAndroidXRSpatialMarkerEntity#class_u_android_x_r_spatial_marker_entity * > & TrackedMarkers, bool bShouldUpdate)` | `void` Gets the currently tracked markers. |

| ### Protected functions ||
|---|---|
| `https://developer.android.com/develop/xr/unreal/reference/class/UAndroidXRSpatialMarkerTrackingSubsystem#bindentityevents() override` | `virtual void` |
| `https://developer.android.com/develop/xr/unreal/reference/class/UAndroidXRSpatialMarkerTrackingSubsystem#getcapabilitymodule() override` | `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/UAndroidXRSpatialMarkerTrackingSubsystem#getrequiredpermissions(TArray< FString > & Permissions) override` | `virtual void` |
| `https://developer.android.com/develop/xr/unreal/reference/class/UAndroidXRSpatialMarkerTrackingSubsystem#unbindentityevents() override` | `virtual void` |

## Public attributes

### OnSpatialMarkerAdded

```
FOnSpatialMarkerChangedDelegate OnSpatialMarkerAdded {}
```
The callback for when a marker is added by the runtime.

### OnSpatialMarkerRemoved

```
FOnSpatialMarkerChangedDelegate OnSpatialMarkerRemoved {}
```
The callback for when a marker is removed by the runtime.

## Public functions

### ConfigureMarkerTracking

```
void ConfigureMarkerTracking(
  const FSpatialMarkerTrackingConfig & MarkerTrackingConfig
)
```
Configures the marker tracking subsystem.

<br />

Details Parameters `The` marker tracking configuration

### GetTrackedMarkers

```
void GetTrackedMarkers(
  TArray< UAndroidXRSpatialMarkerEntity * > & TrackedMarkers,
  bool bShouldUpdate
)
```
Gets the currently tracked markers.

<br />

Details Parameters `Array` of tracked markers `Whether` to force an update before populating the tracked markers array

## Protected functions

### BindEntityEvents

```
virtual void BindEntityEvents() override
```

### GetCapabilityModule

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

### GetRequiredPermissions

```
virtual void GetRequiredPermissions(
  TArray< FString > & Permissions
) override
```

### UnbindEntityEvents

```
virtual void UnbindEntityEvents() override
```