An object that defines the particular ARKit features enabled in your session at a given time.
- iOS 11.0+
ARConfiguration defines a base class for the different options you can configure in your AR experience. 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 rear camera.
Enables you to track a person, planes, and images using the device's rear camera.
Tracks only the device's orientation using the rear camera.
Tracks only known images you provide via
trackingusing the device's rear camera.
Tracks only faces in the device's selfie camera, including movement and facial expressions.
Uses the rear 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 subfeatures 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 collected during the session under the prior configuration, such as information about the physical environment and anchors.