Integrate iOS device camera and motion features to produce augmented reality experiences in your app or game.


Augmented reality (AR) describes user experiences that add 2D or 3D elements to the live view from a device's camera in a way that makes those elements appear to inhabit the real world. ARKit combines device motion tracking, camera scene capture, advanced scene processing, and display conveniences to simplify the task of building an AR experience.


First Steps

Understanding Augmented Reality

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


class ARWorldTrackingConfiguration

A configuration that tracks a device's orientation and position, and that detects real-world surfaces seen by the device camera.

class AROrientationTrackingConfiguration

A configuration that tracks only a device's orientation.

class ARConfiguration

The abstract base class for AR session configurations.

Standard Views

Building a Basic AR Experience

Configure an AR session and use SceneKit or SpriteKit to display AR content.

class ARSCNView

A view for displaying AR experiences that augment the camera view with 3D SceneKit content.

class ARSKView

A view for displaying AR experiences that augment the camera view with 2D SpriteKit content.

Custom Views

Displaying an AR Experience with Metal

Build a custom AR view by rendering camera images and using position-tracking information to display overlay content.

Real-World Objects and Positions

class ARAnchor

A real-world position and orientation that can be used for placing objects in an AR scene.

class ARPlaneAnchor

Information about the position and orientation of a real-world flat surface detected in an AR session.

class ARHitTestResult

Information about a real-world surface found by examining a point in the device camera view of an AR session.

Camera and Scene Details

class ARFrame

A video image and position tracking information captured as part of an AR session.

class ARCamera

Information about the camera position and imaging characteristics for a captured video frame in an AR session.

class ARLightEstimate

Estimated scene lighting information associated with a captured video frame in an AR session.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software