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


When you run a world-tracking AR session whose planeDetection option is enabled, the session automatically adds to its list of anchors an ARPlaneAnchor object for each flat surface ARKit detects with the back-facing camera. Each plane anchor provides information about the estimated position and shape of the surface.


Determining Plane Orientation

var alignment: ARPlaneAnchor.Alignment

The general orientation of the detected plane with respect to gravity.

enum ARPlaneAnchor.Alignment

Values describing possible general orientations of a detected plane with respect to gravity.

Using Detailed Plane Geometry

var geometry: ARPlaneGeometry

A coarse triangle mesh representing the general shape of the detected plane.

class ARPlaneGeometry

A 3D mesh describing the shape of a detected plane in world-tracking AR sessions.

class ARSCNPlaneGeometry

A SceneKit representation of the 2D shape of a plane, for use with plane detection results in an AR session.


Using Basic Plane Dimensions

var center: vector_float3

The center point of the plane relative to its anchor position.

var extent: vector_float3

The estimated width and length of the detected plane.


Inherits From

Conforms To

See Also

World Tracking

Building Your First AR Experience

Create an app that runs an AR session and uses plane detection to place 3D content using SceneKit.

Handling 3D Interaction and UI Controls in Augmented Reality

Follow best practices for visual feedback, gesture interactions, and realistic rendering in AR experiences.

class ARWorldTrackingConfiguration

A configuration that uses the back-facing camera, tracks a device's orientation and position, and detects real-world flat surfaces.

class AROrientationTrackingConfiguration

A configuration that uses the back-facing camera and tracks only a device's orientation.

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