TechnologiesAR & Spatial

ARKit

iOSmacOStvOSwatchOSvisionOS

ARKit is an augmented reality framework for tracking the device's position and detecting real-world surfaces, faces, bodies, and objects to blend virtual content. You run an ARKitSession and attach data providers such as PlaneDetectionProvider, SceneReconstructionProvider, HandTrackingProvider, and ImageTrackingProvider to receive results as anchors like PlaneAnchor, MeshAnchor, HandAnchor, and ImageAnchor. Anchor updates arrive through an AnchorUpdateSequence of AnchorUpdate values, letting you observe how tracked content enters, changes, and leaves the scene over time. ARKit runs on iOS, macOS, and visionOS, and provides additional providers for camera frames, environment lighting, room and object tracking, and barcode detection.

Essentials 5

The session and core protocols you use to run ARKit and receive tracked data.

  • Cl
    ARKitSession
    A session for running data providers.
  • Pr
    DataProvidermacOS 26.0+
    A data provider is an interface for receiving data from ARKit.
  • En
    DataProviderStatemacOS 26.0+
    The state of a data provider.
  • Pr
    AnchormacOS 26.0+
    An anchor represents a physical location and orientation in world space.
  • Pr
    TrackableAnchormacOS 26.0+
    Protocol for trackable anchors.

World and Device Tracking 3

Providers and anchors that track the device's position and pose in the surrounding space.

  • Cl
    WorldTrackingProvidermacOS 26.0+
    Provides placement of anchors in the user's environment and access to the device pose.
  • St
    WorldAnchor
    Represents a fixed location in the user's environment.
  • St
    DeviceAnchormacOS 26.0+
    Represents the Vision device which the user is wearing.

Plane and Scene Reconstruction 5

Providers and anchors that detect real-world surfaces and reconstruct the scene's geometry.

  • Cl
    PlaneDetectionProvider
    Provides planes detected from the user's environment.
  • St
    PlaneAnchor
    Represents a flat surface in the user's environment.
  • Cl
    SceneReconstructionProvider
    Provides a three dimensional understanding of the user's environment.
  • St
    MeshAnchor
    Represents a volume of space and the surfaces therein in the user's environment.
  • En
    SurfaceClassification
    A value describing the classification of a surface.

Hand and Body Tracking 3

Providers and anchors for tracking the user's hands and their skeletal joints.

  • Cl
    HandTrackingProvider
    Provides you with data about the user's hands.
  • St
    HandAnchor
    Represents a hand of the user.
  • St
    HandSkeleton
    A hand skeleton.

Image and Object Tracking 8

Providers, anchors, and references for detecting and tracking known images and objects.

  • Cl
    ImageTrackingProvider
    Provides the real time position of reference images in the user's environment.
  • St
    ImageAnchor
    Represents a tracked image.
  • St
    ReferenceImage
    Represents an image to be tracked.
  • Cl
    ObjectTrackingProvider
    Provides the real time position of reference objects in the user's environment.
  • St
    ObjectAnchor
    Represents a tracked reference object.
  • St
    ReferenceObject
    Represents an object to be tracked.
  • Cl
    BarcodeDetectionProvider
    Provides the real time position of barcodes detected in the user's environment.
  • St
    BarcodeAnchor
    Represents a detected barcode.

Room and Accessory Tracking 8

Providers and anchors that track rooms, accessories, and camera regions in the environment.

  • Cl
    RoomTrackingProvider
    Provides information about the rooms that a person has been in.
  • St
    RoomAnchor
    Represents a tracked room.
  • Cl
    AccessoryTrackingProvider
    Provides the real time position of accessories in the user's environment.
  • St
    Accessory
    Represents an accessory to be tracked.
  • St
    AccessoryAnchor
    Represents a tracked accessory.
  • Cl
    CameraRegionProvider
    A camera region provider.
  • St
    CameraRegionAnchor
    Represents a region in space for capturing a camera stream.
  • St
    FieldOfViewAnchor
    An anchor representing a set of field of view (FoV) boundary polygon points in immersive space.

Camera and Environment 5

Providers and types that deliver camera frames and estimate environment lighting.

  • Cl
    CameraFrameProvider
    Provides you with camera frames.
  • St
    CameraFrame
    A camera frame.
  • St
    CameraVideoFormat
    A camera video format.
  • Cl
    EnvironmentLightEstimationProvider
    An environment light estimation provider.
  • St
    EnvironmentProbeAnchor
    Represents an environment probe in the world.

Stereo and Visual Fidelity 5

Providers and types that report stereo display properties and rendering fidelity.

  • Cl
    StereoPropertiesProvider
    The StereoPropertiesProvider serves the latest viewpoint properties on the device.
  • St
    ViewpointProperties
    The ViewpointProperties is a record of render camera transforms at some particular time.
  • Cl
    VisualFidelityProvider
    A data provider that delivers visual fidelity monitoring data.
  • St
    VisualFidelityData
    Visual fidelity data containing device fit and field of view verification.
  • En
    DeviceFitStatus
    Device fit validation status indicating the user's eye position relative to the optimal device fit range.

Shared and Coordinate Spaces 3

Providers and types for sharing a coordinate space across devices and participants.

  • Cl
    SharedCoordinateSpaceProvider
    Provides ability to establish a shared coordinate space among multiple participants.
  • Pr
    ARKitCoordinateSpaceProvidingmacOS 27.0+
    A type that provides an ARKit coordinate space with an optional correction applied.
  • St
    ARKitCoordinateSpacemacOS 27.0+
    An object which represents an ARKit coordinate space.

Anchor Updates and Geometry 4

Types that deliver streaming anchor updates and describe geometric data for anchors.

  • St
    AnchorUpdate
    An update for an anchor with a timestamp & event which caused the update.
  • St
    AnchorUpdateSequence
    A sequence of updated anchors.
  • St
    GeometryElement
    A container for index data, such as vertex indices of a face.
  • St
    GeometrySource
    A container for vector data of a geometry.
← AR & Spatial