# Config

Artifact: [androidx.xr.runtime:runtime](https://developer.android.com/jetpack/androidx/releases/xr-runtime) [View Source](https://cs.android.com/search?q=file:androidx/xr/runtime/Config.kt+class:androidx.xr.runtime.Config) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/xr-runtime#1.0.0)

*** ** * ** ***


```
public final class Config
```

<br />

*** ** * ** ***

Configuration state of all available features to be set at runtime.

An instance of this class should be passed to `https://developer.android.com/reference/androidx/xr/runtime/Session#configure(androidx.xr.runtime.Config)` to set the current configuration. Use `https://developer.android.com/reference/androidx/xr/runtime/Config.Builder` to specify individual configuration settings, and use `https://developer.android.com/reference/androidx/xr/runtime/Config.Builder#build()` to create an instance of `https://developer.android.com/reference/androidx/xr/runtime/Config` to pass to `https://developer.android.com/reference/androidx/xr/runtime/Session#configure(androidx.xr.runtime.Config)`.

## Summary

| ### Nested types |
|---|
| `public final class https://developer.android.com/reference/androidx/xr/runtime/Config.Builder` This class can be used to create a `https://developer.android.com/reference/androidx/xr/runtime/Config` instance. |

| ### Public methods |
|---|---|
| `boolean` | `https://developer.android.com/reference/androidx/xr/runtime/Config#equals(kotlin.Any)(https://developer.android.com/reference/java/lang/Object.html other)` |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/xr/runtime/AnchorPersistenceMode` | `https://developer.android.com/reference/androidx/xr/runtime/Config#getAnchorPersistence()()` feature that allows anchors to be persisted through sessions. |
| `final https://developer.android.com/reference/androidx/xr/runtime/AugmentedImageDatabase` | `https://developer.android.com/reference/androidx/xr/runtime/Config#getAugmentedImageDatabase()()` the current active `https://developer.android.com/reference/androidx/xr/runtime/AugmentedImageDatabase`. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/Set.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/xr/runtime/AugmentedObjectCategory>` | `https://developer.android.com/reference/androidx/xr/runtime/Config#getAugmentedObjectCategories()()` feature that allows tracking of recognizable objects in the environment. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/xr/runtime/DepthEstimationMode` | `https://developer.android.com/reference/androidx/xr/runtime/Config#getDepthEstimation()()` feature that allows more accurate information about scene depth and meshes. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/xr/runtime/DeviceTrackingMode` | `https://developer.android.com/reference/androidx/xr/runtime/Config#getDeviceTracking()()` feature that allows tracking of the AR device. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/xr/runtime/EyeTrackingMode` | `https://developer.android.com/reference/androidx/xr/runtime/Config#getEyeTracking()()` feature that allows tracking of the users gaze direction. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/xr/runtime/FaceTrackingMode` | `https://developer.android.com/reference/androidx/xr/runtime/Config#getFaceTracking()()` feature that allows the tracking of human faces. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/xr/runtime/GeospatialMode` | `https://developer.android.com/reference/androidx/xr/runtime/Config#getGeospatial()()` feature that allows geospatial localization and tracking. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/xr/runtime/HandTrackingMode` | `https://developer.android.com/reference/androidx/xr/runtime/Config#getHandTracking()()` feature that allows tracking of the user's hands and hand joints. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/xr/runtime/PlaneTrackingMode` | `https://developer.android.com/reference/androidx/xr/runtime/Config#getPlaneTracking()()` feature that allows tracking of and provides information about scene planes. |
| `final float` | `https://developer.android.com/reference/androidx/xr/runtime/Config#getQrCodeSizeMeters()()` the physical size in meters of the QR code. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/xr/runtime/QrCodeTrackingMode` | `https://developer.android.com/reference/androidx/xr/runtime/Config#getQrCodeTracking()()` feature that allows tracking of and provides information about QR codes See `https://developer.android.com/reference/androidx/xr/runtime/QrCodeTrackingMode` |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/xr/runtime/SpatialAnnotationTrackingMode` | `@https://developer.android.com/reference/androidx/xr/runtime/ExperimentalSpatialAnnotationsApi https://developer.android.com/reference/androidx/xr/runtime/Config#getSpatialAnnotationTracking()()` |
| `int` | `https://developer.android.com/reference/androidx/xr/runtime/Config#hashCode()()` |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/xr/runtime/Config#toString()()` Returns a string representation of `https://developer.android.com/reference/androidx/xr/runtime/Config` for debugging. |

## Public methods

### equals

```
public boolean equals(Object other)
```

### getAnchorPersistence

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/xr-runtime#1.0.0)

```
public final @NonNull AnchorPersistenceMode getAnchorPersistence()
```

feature that allows anchors to be persisted through sessions. See `https://developer.android.com/reference/androidx/xr/runtime/AnchorPersistenceMode`

### getAugmentedImageDatabase

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/xr-runtime#1.0.0)

```
public final AugmentedImageDatabase getAugmentedImageDatabase()
```

the current active `https://developer.android.com/reference/androidx/xr/runtime/AugmentedImageDatabase`. If not empty, the image tracking feature will be enabled

### getAugmentedObjectCategories

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/xr-runtime#1.0.0)

```
public final @NonNull Set<@NonNull AugmentedObjectCategory> getAugmentedObjectCategories()
```

feature that allows tracking of recognizable objects in the environment. See `https://developer.android.com/reference/androidx/xr/runtime/AugmentedObjectCategory`

### getDepthEstimation

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/xr-runtime#1.0.0)

```
public final @NonNull DepthEstimationMode getDepthEstimation()
```

feature that allows more accurate information about scene depth and meshes. See `https://developer.android.com/reference/androidx/xr/runtime/DepthEstimationMode`

### getDeviceTracking

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/xr-runtime#1.0.0)

```
public final @NonNull DeviceTrackingMode getDeviceTracking()
```

feature that allows tracking of the AR device. See `https://developer.android.com/reference/androidx/xr/runtime/DeviceTrackingMode`

### getEyeTracking

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/xr-runtime#1.0.0)

```
public final @NonNull EyeTrackingMode getEyeTracking()
```

feature that allows tracking of the users gaze direction. See `https://developer.android.com/reference/androidx/xr/runtime/EyeTrackingMode`

### getFaceTracking

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/xr-runtime#1.0.0)

```
public final @NonNull FaceTrackingMode getFaceTracking()
```

feature that allows the tracking of human faces. See `https://developer.android.com/reference/androidx/xr/runtime/FaceTrackingMode`

### getGeospatial

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/xr-runtime#1.0.0)

```
public final @NonNull GeospatialMode getGeospatial()
```

feature that allows geospatial localization and tracking. See `https://developer.android.com/reference/androidx/xr/runtime/GeospatialMode`

### getHandTracking

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/xr-runtime#1.0.0)

```
public final @NonNull HandTrackingMode getHandTracking()
```

feature that allows tracking of the user's hands and hand joints. See `https://developer.android.com/reference/androidx/xr/runtime/HandTrackingMode`

### getPlaneTracking

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/xr-runtime#1.0.0)

```
public final @NonNull PlaneTrackingMode getPlaneTracking()
```

feature that allows tracking of and provides information about scene planes. See `https://developer.android.com/reference/androidx/xr/runtime/PlaneTrackingMode`

### getQrCodeSizeMeters

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/xr-runtime#1.0.0)

```
public final float getQrCodeSizeMeters()
```

the physical size in meters of the QR code. If zero, the physical size will be estimated if the device supports it. If physical size estimation is not supported, configuring the `https://developer.android.com/reference/androidx/xr/runtime/Session` adding an entry with qrCodeSizeMeters being 0f or lower will throw an `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-state-exception/index.html`. It requires `https://developer.android.com/reference/androidx/xr/runtime/Config#qrCodeTracking()` to be different from `https://developer.android.com/reference/androidx/xr/runtime/QrCodeTrackingMode#DISABLED()`

### getQrCodeTracking

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/xr-runtime#1.0.0)

```
public final @NonNull QrCodeTrackingMode getQrCodeTracking()
```

feature that allows tracking of and provides information about QR codes See `https://developer.android.com/reference/androidx/xr/runtime/QrCodeTrackingMode`

### getSpatialAnnotationTracking

Added in [1.1.0-alpha02](https://developer.android.com/jetpack/androidx/releases/xr-runtime#1.1.0-alpha02)

```
@ExperimentalSpatialAnnotationsApi
public final @NonNull SpatialAnnotationTrackingMode getSpatialAnnotationTracking()
```

### hashCode

```
public int hashCode()
```

### toString

```
public @NonNull String toString()
```

Returns a string representation of `https://developer.android.com/reference/androidx/xr/runtime/Config` for debugging.

Note: Not intended for production use.