Class

ARConfiguration

The abstract base class for AR session configurations.

Overview

ARConfiguration is an abstract class; you do not create or work with instances of this class.

To run an AR session, create an instance of the concrete ARConfiguration subclass that provides the kind of augmented reality experience you want to use in your app or game. Then, set up the configuration object's properties and pass the configuration to your session's run(_:options:) method. ARKit includes the following concrete configuration classes:

ARWorldTrackingConfiguration

Provides high-quality AR experiences that use the rear-facing camera precisely track a device's position and orientation and allow plane detection and hit testing.

AROrientationTrackingConfiguration

Provides basic AR experiences that use the rear-facing camera and track only a device's orientation.

ARFaceTrackingConfiguration

Provides AR experiences that use the front-facing camera and track the movement and expressions of the user's face.

Topics

Verifying Device Support

class var isSupported: Bool

A Boolean value indicating whether the current device supports this session configuration class.

Configuring the Session

var isLightEstimationEnabled: Bool

A Boolean value specifying whether ARKit analyzes scene lighting in captured camera images.

var worldAlignment: ARConfiguration.WorldAlignment

A value specifying how the session maps real-world device motion into a 3D scene coordinate system.

enum ARConfiguration.WorldAlignment

Options for how ARKit constructs a scene coordinate system based on real-world device motion.

var providesAudioData: Bool

A Boolean value that specifies whether to capture audio during the AR session.

Relationships

Inherits From

See Also

First Steps

About Augmented Reality and ARKit

Discover supporting concepts, features, and best practices for building great AR experiences.

class ARSession

A shared object that manages the device camera and motion processing needed for augmented reality experiences.