<!--
{
  "availability" : [
    "iOS: 13.0.0 -",
    "iPadOS: 13.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "ARKit",
  "identifier" : "/documentation/ARKit/ARBodyTrackingConfiguration",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "ARKit"
    ],
    "preciseIdentifier" : "c:objc(cs)ARBodyTrackingConfiguration"
  },
  "title" : "ARBodyTrackingConfiguration"
}
-->

# ARBodyTrackingConfiguration

A configuration that tracks human body poses, planar surfaces, and images using the rear-facing camera.

```
class ARBodyTrackingConfiguration
```

## Overview

When ARKit identifies a person in the rear camera’s feed, it calls [`session(_:didAdd:)`](/documentation/ARKit/ARSessionDelegate/session(_:didAdd:)), passing an [`ARBodyAnchor`](/documentation/ARKit/ARBodyAnchor) you can use to track the body’s movement.

When you enable plane detection and image detection, you can use a body anchor to display a virtual character and set the character on a surface or image that you choose.

By default, [`frameSemantics`](/documentation/ARKit/ARConfiguration/frameSemantics-swift.property) includes [`bodyDetection`](/documentation/ARKit/ARConfiguration/FrameSemantics-swift.struct/bodyDetection), which gives you access to the joint positions of a person that ARKit detects in the camera feed via the frame’s [`detectedBody`](/documentation/ARKit/ARFrame/detectedBody).

## Topics

### Creating a Configuration

[`new`](/documentation/ARKit/ARBodyTrackingConfiguration/new)

Creates a new body tracking configuration.

[`init()`](/documentation/ARKit/ARBodyTrackingConfiguration/init())

Creates a new body tracking configuration.

[`initialWorldMap`](/documentation/ARKit/ARBodyTrackingConfiguration/initialWorldMap)

The state from a previous AR session to attempt to resume with this session configuration.

### Estimating Body Scale

[`automaticSkeletonScaleEstimationEnabled`](/documentation/ARKit/ARBodyTrackingConfiguration/automaticSkeletonScaleEstimationEnabled)

A flag that determines whether ARKit estimates the height of a body that it’s tracking.

### Enabling Auto Focus

[`isAutoFocusEnabled`](/documentation/ARKit/ARBodyTrackingConfiguration/isAutoFocusEnabled)

A Boolean value that determines whether the device camera uses fixed focus or autofocus behavior.

### Enabling Plane Detection

[`planeDetection`](/documentation/ARKit/ARBodyTrackingConfiguration/planeDetection)

A value specifying whether and how the session attempts to automatically detect flat surfaces in the camera-captured image.

[`ARWorldTrackingConfiguration.PlaneDetection`](/documentation/ARKit/ARWorldTrackingConfiguration/PlaneDetection-swift.struct)

Options for whether and how the framework detects flat surfaces in captured images.

### Enabling Image Tracking

[`automaticImageScaleEstimationEnabled`](/documentation/ARKit/ARBodyTrackingConfiguration/automaticImageScaleEstimationEnabled)

A flag that instructs ARKit to estimate and set the scale of a tracked image on your behalf.

[`detectionImages`](/documentation/ARKit/ARBodyTrackingConfiguration/detectionImages)

A set of images that ARKit searches for in the user’s environment.

[`maximumNumberOfTrackedImages`](/documentation/ARKit/ARBodyTrackingConfiguration/maximumNumberOfTrackedImages)

The number of image anchors to monitor closely for position and orientation updates.

### Adding Realistic Reflections

[`wantsHDREnvironmentTextures`](/documentation/ARKit/ARBodyTrackingConfiguration/wantsHDREnvironmentTextures)

A flag that instructs ARKit to create environment textures in HDR format.

[`environmentTexturing`](/documentation/ARKit/ARBodyTrackingConfiguration/environmentTexturing)

The behavior ARKit uses for generating environment textures.

### Accessing App Clip Codes

  <doc://com.apple.documentation/documentation/AppClip/interacting-with-app-clip-codes-in-ar>

[`supportsAppClipCodeTracking`](/documentation/ARKit/ARBodyTrackingConfiguration/supportsAppClipCodeTracking)

A flag that indicates if the device tracks App Clip Codes.

[`appClipCodeTrackingEnabled`](/documentation/ARKit/ARBodyTrackingConfiguration/appClipCodeTrackingEnabled)

A Boolean value that indicates if the framework searches the physical environment for App Clip Codes.

[`ARAppClipCodeAnchor`](/documentation/ARKit/ARAppClipCodeAnchor)

An anchor that tracks the position and orientation of an App Clip Code in the physical environment.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)