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 back-facing camera precisely track a device's position and orientation and allow plane detection, hit testing, environment-based lighting, and image and obejct detection.

AROrientationTrackingConfiguration

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

ARImageTrackingConfiguration

Provides basic AR experiences that use the back-facing camera and track visible images regardless of the user's environment.

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 AR 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.

Managing Video Capture Options

var videoFormat: ARConfiguration.VideoFormat

The video capture size and frame rate to be used for sessions running this configuration.

class var supportedVideoFormats: [ARConfiguration.VideoFormat]

The set of video capture formats available on the current device.

class ARConfiguration.VideoFormat

A video size and frame rate specification for use with an AR session.

Recording Audio

var providesAudioData: Bool

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

Relationships

Inherits From

See Also

First Steps

Verifying Device Support and User Permission

Make sure your app can use ARKit and respects user privacy.

class ARSession

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