A configuration you use to track a person's motion in 3D space.


class ARBodyTrackingConfiguration : ARConfiguration


When ARKit identifies a person in the back camera feed, it calls session(_:didAdd:), passing you an ARBodyAnchor you can use to track the body's movement.

Plane detection and image detection are enabled. If you use a body anchor to display a virtual character, you can set the character on a surface or image that you choose.

ARConfiguration.FrameSemantics type bodyDetection is enabled by default, which gives you access to the joint positions of a person that ARKit detects in the camera feed via the frame's detectedBody.


Creating a Configuration


Creates a new body tracking configuration.

var initialWorldMap: ARWorldMap?

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

Estimating Body Scale

var automaticSkeletonScaleEstimationEnabled: Bool

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

Enabling Auto Focus

var isAutoFocusEnabled: Bool

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

Enabling Plane Detection

var planeDetection: ARWorldTrackingConfiguration.PlaneDetection

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

struct ARWorldTrackingConfiguration.PlaneDetection

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

Enabling Image Tracking

var automaticImageScaleEstimationEnabled: Bool

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

var detectionImages: Set<ARReferenceImage>

A set of images that ARKit attempts to detect in the user's environment.

var maximumNumberOfTrackedImages: Int

The maximum number of detection images, for which to simultaneously track movement.

Adding Realistic Reflections

var wantsHDREnvironmentTextures: Bool

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

var environmentTexturing: ARWorldTrackingConfiguration.EnvironmentTexturing

The behavior ARKit uses for generating environment textures.


Inherits From

Conforms To

See Also


Occluding Virtual Content with People

Cover your app’s virtual content with people that ARKit perceives in the camera feed.

Capturing Body Motion in 3D

Track a person in the physical environment and visualize their motion by applying the same body movements to a virtual character.

Rigging a Model for Motion Capture

Configure custom 3D models so ARKit’s human body-tracking feature can control them.

Validating a Model for Motion Capture

Verify that your character model matches ARKit’s Motion Capture requirements.

class ARBodyAnchor

An object that tracks the movement in 3D space of a body that ARKit recognizes in the camera feed.

class ARBody2D

The screen-space representation of a person ARKit recognizes in the camera feed.