An object that defines the particular ARKit features you enable in your session at a given time.
- iOS 11.0+
ARConfiguration defines a base class for the different options your AR experience can have. You don't allocate
ARConfiguration yourself; instead, you instantiate one of its subclasses.
Choose Your Configuration
To implement the features of your AR experience, you create one of the following subclasses and run it on your session via
run(with:). A session can run only one configuration at a time, so choose the one that best facilitates the desired AR experience.
Tracks the device's position and orientation relative to any surfaces, people, or known images and objects that ARKit may find and track using the device's back camera.
Enables you to track a person, planes, and images, using the device's back camera.
Tracks only the device's orientation using the back camera.
Tracks only known images you provide via
tracking, using the device's back camera.
Tracks only faces in the device's selfie camera, including their movement and facial expressions.
Uses the back camera to collect high-fidelity data about specific objects you want your app to recognize later, at runtime.
Tracks only the device's position in 3D space.
Choose Frame Features
Some configurations support sub-features relating to a session's frame. You enable these features by setting the following flags in the configuration's
Switch Configurations at Runtime
When you want to toggle features like plane detection, frame semantics, and environment texturing, you switch your configuration at runtime by calling
run(with:) on your existing session. Where possible, ARKit maintains all the information that was collected during the session under the prior configuration, such as information about the physical environment, and anchors.