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.
- ClARKitSessionA session for running data providers.
- PrDataProvidermacOS 26.0+A data provider is an interface for receiving data from ARKit.
- EnDataProviderStatemacOS 26.0+The state of a data provider.
- PrAnchormacOS 26.0+An anchor represents a physical location and orientation in world space.
- PrTrackableAnchormacOS 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.
- ClWorldTrackingProvidermacOS 26.0+Provides placement of anchors in the user's environment and access to the device pose.
- StWorldAnchorRepresents a fixed location in the user's environment.
- StDeviceAnchormacOS 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.
- ClPlaneDetectionProviderProvides planes detected from the user's environment.
- StPlaneAnchorRepresents a flat surface in the user's environment.
- ClSceneReconstructionProviderProvides a three dimensional understanding of the user's environment.
- StMeshAnchorRepresents a volume of space and the surfaces therein in the user's environment.
- EnSurfaceClassificationA 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.
- ClHandTrackingProviderProvides you with data about the user's hands.
- StHandAnchorRepresents a hand of the user.
- StHandSkeletonA hand skeleton.
Image and Object Tracking 8
Providers, anchors, and references for detecting and tracking known images and objects.
- ClImageTrackingProviderProvides the real time position of reference images in the user's environment.
- StImageAnchorRepresents a tracked image.
- StReferenceImageRepresents an image to be tracked.
- ClObjectTrackingProviderProvides the real time position of reference objects in the user's environment.
- StObjectAnchorRepresents a tracked reference object.
- StReferenceObjectRepresents an object to be tracked.
- ClBarcodeDetectionProviderProvides the real time position of barcodes detected in the user's environment.
- StBarcodeAnchorRepresents a detected barcode.
Room and Accessory Tracking 8
Providers and anchors that track rooms, accessories, and camera regions in the environment.
- ClRoomTrackingProviderProvides information about the rooms that a person has been in.
- StRoomAnchorRepresents a tracked room.
- ClAccessoryTrackingProviderProvides the real time position of accessories in the user's environment.
- StAccessoryRepresents an accessory to be tracked.
- StAccessoryAnchorRepresents a tracked accessory.
- ClCameraRegionProviderA camera region provider.
- StCameraRegionAnchorRepresents a region in space for capturing a camera stream.
- StFieldOfViewAnchorAn 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.
- ClCameraFrameProviderProvides you with camera frames.
- StCameraFrameA camera frame.
- StCameraVideoFormatA camera video format.
- ClEnvironmentLightEstimationProviderAn environment light estimation provider.
- StEnvironmentProbeAnchorRepresents an environment probe in the world.
Stereo and Visual Fidelity 5
Providers and types that report stereo display properties and rendering fidelity.
- ClStereoPropertiesProviderThe StereoPropertiesProvider serves the latest viewpoint properties on the device.
- StViewpointPropertiesThe ViewpointProperties is a record of render camera transforms at some particular time.
- ClVisualFidelityProviderA data provider that delivers visual fidelity monitoring data.
- StVisualFidelityDataVisual fidelity data containing device fit and field of view verification.
- EnDeviceFitStatusDevice 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.
- ClSharedCoordinateSpaceProviderProvides ability to establish a shared coordinate space among multiple participants.
- PrARKitCoordinateSpaceProvidingmacOS 27.0+A type that provides an ARKit coordinate space with an optional correction applied.
- StARKitCoordinateSpacemacOS 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.
- StAnchorUpdateAn update for an anchor with a timestamp & event which caused the update.
- StAnchorUpdateSequenceA sequence of updated anchors.
- StGeometryElementA container for index data, such as vertex indices of a face.
- StGeometrySourceA container for vector data of a geometry.