---
title: ARWorldTrackingConfiguration
framework: arkit
role: symbol
role_heading: Class
path: arkit/arworldtrackingconfiguration
---

# ARWorldTrackingConfiguration

A configuration that tracks the position of a device in relation to objects in the environment.

## Declaration

```swift
class ARWorldTrackingConfiguration
```

## Mentioned in

Choosing Which Camera Feed to Augment

## Overview

Overview The ARWorldTrackingConfiguration class tracks the device’s movement with six degrees of freedom (6DOF): the three rotation axes (roll, pitch, and yaw), and three translation axes (movement in x, y, and z). This kind of tracking can create immersive AR experiences: A virtual object can appear to stay in the same place relative to the real world, even as the user tilts the device to look above or below the object, or moves the device around to see the object’s sides and back.

World-tracking sessions also provide several ways for your app to recognize or interact with elements of the real-world scene visible to the camera: Find real-world horizontal or vertical surfaces with planeDetection. Add the surfaces to the session as ARPlaneAnchor objects. Recognize and track the movement of 2D images with detectionImages. Add 2D images to the scene as ARImageAnchor objects. Recognize 3D objects with detectionObjects. Add 3D objects to the scene as ARObjectAnchor objects. Find the 3D positions of real-world features that correspond to a touch point on the device’s screen with ray casting.

## Topics

### Creating a Configuration

- [init()](arkit/arworldtrackingconfiguration/init().md)
- [initialWorldMap](arkit/arworldtrackingconfiguration/initialworldmap.md)

### Tracking Surfaces

- [planeDetection](arkit/arworldtrackingconfiguration/planedetection-swift.property.md)
- [ARWorldTrackingConfiguration.PlaneDetection](arkit/arworldtrackingconfiguration/planedetection-swift.struct.md)
- [sceneReconstruction](arkit/arworldtrackingconfiguration/scenereconstruction.md)
- [supportsSceneReconstruction(_:)](arkit/arworldtrackingconfiguration/supportsscenereconstruction(_:).md)

### Detecting or Tracking Images

- [detectionImages](arkit/arworldtrackingconfiguration/detectionimages.md)
- [maximumNumberOfTrackedImages](arkit/arworldtrackingconfiguration/maximumnumberoftrackedimages.md)
- [automaticImageScaleEstimationEnabled](arkit/arworldtrackingconfiguration/automaticimagescaleestimationenabled.md)

### Detecting 3D Objects

- [detectionObjects](arkit/arworldtrackingconfiguration/detectionobjects.md)

### Tracking the User’s Face

- [userFaceTrackingEnabled](arkit/arworldtrackingconfiguration/userfacetrackingenabled.md)
- [supportsUserFaceTracking](arkit/arworldtrackingconfiguration/supportsuserfacetracking.md)

### Creating Realistic Reflections

- [environmentTexturing](arkit/arworldtrackingconfiguration/environmenttexturing-swift.property.md)
- [ARWorldTrackingConfiguration.EnvironmentTexturing](arkit/arworldtrackingconfiguration/environmenttexturing-swift.enum.md)
- [AREnvironmentProbeAnchor](arkit/arenvironmentprobeanchor.md)
- [wantsHDREnvironmentTextures](arkit/arworldtrackingconfiguration/wantshdrenvironmenttextures.md)

### Managing Device Camera Behavior

- [isAutoFocusEnabled](arkit/arworldtrackingconfiguration/isautofocusenabled.md)

### Enabling Collaboration

- [isCollaborationEnabled](arkit/arworldtrackingconfiguration/iscollaborationenabled.md)

### Accessing App Clip Codes

- [Interacting with App Clip Codes in AR](appclip/interacting-with-app-clip-codes-in-ar.md)
- [supportsAppClipCodeTracking](arkit/arworldtrackingconfiguration/supportsappclipcodetracking.md)
- [appClipCodeTrackingEnabled](arkit/arworldtrackingconfiguration/appclipcodetrackingenabled.md)
- [ARAppClipCodeAnchor](arkit/arappclipcodeanchor.md)

### Instance Properties

- [trackingObjects](arkit/arworldtrackingconfiguration/trackingobjects.md)

## Relationships

### Inherits From

- [ARConfiguration](arkit/arconfiguration.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Spatial Tracking

- [Understanding World Tracking](arkit/understanding-world-tracking.md)
- [ARGeoTrackingConfiguration](arkit/argeotrackingconfiguration.md)
- [AROrientationTrackingConfiguration](arkit/arorientationtrackingconfiguration.md)
- [ARPositionalTrackingConfiguration](arkit/arpositionaltrackingconfiguration.md)
