# UAndroidXRTrackingSubsystem

`#include <AndroidXRTrackingSubsystem.h>`

The base class for all [AndroidXR](https://developer.android.com/develop/xr/unreal/reference/namespace/AndroidXR#namespace_android_x_r) tracking subsystems.

<br />

## Summary

### Inheritance

Inherits from: `UEngineSubsystem`  
Direct Known Subclasses: [`UAndroidXREyeTrackingSubsystem`](https://developer.android.com/develop/xr/unreal/reference/class/UAndroidXREyeTrackingSubsystem), [`UAndroidXRFaceTrackingSubsystem`](https://developer.android.com/develop/xr/unreal/reference/class/UAndroidXRFaceTrackingSubsystem), [`UAndroidXRPassthroughMeshSubsystem`](https://developer.android.com/develop/xr/unreal/reference/class/UAndroidXRPassthroughMeshSubsystem), [`UAndroidXRSpatialDiscoveryRaycastSubsystem`](https://developer.android.com/develop/xr/unreal/reference/class/UAndroidXRSpatialDiscoveryRaycastSubsystem), [`UAndroidXRSpatialEntitiesSubsystem`](https://developer.android.com/develop/xr/unreal/reference/class/UAndroidXRSpatialEntitiesSubsystem)

| ### Public attributes ||
|---|---|
| `https://developer.android.com/develop/xr/unreal/reference/class/UAndroidXRTrackingSubsystem#ontrackingstarted {}` | `FOnTrackerCreated` The callback for when the system has started tracking. |
| `https://developer.android.com/develop/xr/unreal/reference/class/UAndroidXRTrackingSubsystem#ontrackingstopped {}` | `FOnTrackerDestroyed` The callback for when the underlying tracker is destroyed. |

| ### Public functions ||
|---|---|
| `https://developer.android.com/develop/xr/unreal/reference/class/UAndroidXRTrackingSubsystem#istracking() const ` | `bool` Stop tracking the associated feature. |
| `https://developer.android.com/develop/xr/unreal/reference/class/UAndroidXRTrackingSubsystem#starttracking()` | `void` Start tracking the associated feature. |
| `https://developer.android.com/develop/xr/unreal/reference/class/UAndroidXRTrackingSubsystem#stoptracking()` | `void` Stop tracking the associated feature. |

| ### Protected functions ||
|---|---|
| `https://developer.android.com/develop/xr/unreal/reference/class/UAndroidXRTrackingSubsystem#createtracker()` | `virtual void` |
| `https://developer.android.com/develop/xr/unreal/reference/class/UAndroidXRTrackingSubsystem#destroytracker()` | `virtual void` |
| `https://developer.android.com/develop/xr/unreal/reference/class/UAndroidXRTrackingSubsystem#getrequiredpermissions(TArray< FString > & Permissions)` | `virtual void` |
| `https://developer.android.com/develop/xr/unreal/reference/class/UAndroidXRTrackingSubsystem#trackercreated()` | `void` |
| `https://developer.android.com/develop/xr/unreal/reference/class/UAndroidXRTrackingSubsystem#trackerdestroyed()` | `void` |

## Public attributes

### OnTrackingStarted

```
FOnTrackerCreated OnTrackingStarted {}
```
The callback for when the system has started tracking.

### OnTrackingStopped

```
FOnTrackerDestroyed OnTrackingStopped {}
```
The callback for when the underlying tracker is destroyed.

## Public functions

### IsTracking

```
bool IsTracking() const 
```
Stop tracking the associated feature.

### StartTracking

```
void StartTracking()
```
Start tracking the associated feature.

### StopTracking

```
void StopTracking()
```
Stop tracking the associated feature.

## Protected functions

### CreateTracker

```
virtual void CreateTracker()
```

### DestroyTracker

```
virtual void DestroyTracker()
```

### GetRequiredPermissions

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

### TrackerCreated

```
void TrackerCreated()
```

### TrackerDestroyed

```
void TrackerDestroyed()
```