### Start AR Session with Configuration and Options Source: https://developer.apple.com/documentation/arkit/arsession/run%28_%3Aoptions%3A%29 Use this method to start or restart an AR session with a specific configuration and optional transition settings. The session tracks device motion and processes camera imagery when running. ```swift func run( _ configuration: ARConfiguration, options: ARSession.RunOptions = [] ) ``` -------------------------------- ### init() Source: https://developer.apple.com/documentation/arkit/stereopropertiesprovider/init%28%29 Initializes the StereoPropertiesProvider. This method is available starting from visionOS 2.4. ```APIDOC ## init() ### Description Initializes the StereoPropertiesProvider. ### Parameters None ### Returns None ### Example ```swift init() ``` ``` -------------------------------- ### Start AR Session with Configuration Source: https://developer.apple.com/documentation/arkit/arsession/runwithconfiguration%3A Starts AR processing for the session using a provided configuration object. This method is suitable for immediate transitions to a new configuration without specific options. ```Objective-C - (void) runWithConfiguration:(ARConfiguration *) configuration; ``` -------------------------------- ### Run AR Session Source: https://developer.apple.com/documentation/arkit/creating-a-fog-effect-using-scene-depth Starts the AR experience with the configured session. ```swift session.run(configuration) ``` -------------------------------- ### Starting and Stopping a Session Source: https://developer.apple.com/documentation/arkit/arkitsession Manage the lifecycle of an ARKit session. Start a session with specified data providers, stop it to halt data flow, or initialize a new session. ```APIDOC ## Starting and stopping a session ### `func run([any DataProvider]) async throws` Runs a session with the data providers you supply. ### `func stop()` Stops all data providers running in this session. ``` -------------------------------- ### Run ARSession with Configuration and Options Source: https://developer.apple.com/documentation/arkit/arsession/runoptions Starts AR processing for the session with the specified configuration and options. ```swift func run(ARConfiguration, options: ARSession.RunOptions) ``` -------------------------------- ### Initialize ARImageTrackingConfiguration Source: https://developer.apple.com/documentation/arkit/arimagetrackingconfiguration Initializes a new image-tracking configuration. This is the basic setup for image tracking. ```swift class ARImageTrackingConfiguration ``` -------------------------------- ### Display ARCoachingOverlayView for Geotracking Source: https://developer.apple.com/documentation/arkit/tracking-geographic-locations-in-ar Uses ARCoachingOverlayView to guide the user through the necessary steps to start a geotracking session. Sets the goal to ARCoachingOverlayView.Goal.geoTracking. ```swift let coachingOverlay = ARCoachingOverlayView() coachingOverlay.autoresizingMask = [.flexibleWidth, .flexibleHeight] coachingOverlay.goal = .geoTracking view.addSubview(coachingOverlay) ``` -------------------------------- ### init() Source: https://developer.apple.com/documentation/arkit/roomtrackingprovider/init%28%29 Creates a room-tracking provider. Available in visionOS 2.0 and later. ```APIDOC ## init() ### Description Creates a room-tracking provider. ### Parameters This method does not take any parameters. ### Returns This method does not explicitly return a value in the provided documentation, but it initializes the room-tracking provider. ``` -------------------------------- ### init() Source: https://developer.apple.com/documentation/arkit/environmentlightestimationprovider/init%28%29 Creates an environment light estimation provider. Available in visionOS 2.0 and later. ```APIDOC ## init() ### Description Creates an environment light estimation provider. ### Parameters This initializer does not take any parameters. ### Returns An instance of an environment light estimation provider. ``` -------------------------------- ### Get ARPlaneAnchor Classification Source: https://developer.apple.com/documentation/arkit/arplaneanchor/classification-2r4x8 Access the classification of an ARPlaneAnchor to determine the type of real-world surface it represents. This property is available on supported devices starting with iOS 12.0. ```swift var classification: ARPlaneAnchor.Classification { get } ``` -------------------------------- ### Get Buffer Offset Source: https://developer.apple.com/documentation/arkit/argeometrysource Indicates the starting position, in bytes, of the geometry data within the Metal buffer. This is important when a buffer contains multiple data sources. ```swift var offset: Int ``` -------------------------------- ### init() Source: https://developer.apple.com/documentation/arkit/arbodytrackingconfiguration/init%28%29 Creates a new body tracking configuration. ```APIDOC ## init() ### Description Creates a new body tracking configuration. ### Method init() ### Parameters This method does not take any parameters. ### Response Returns a new ARBodyTrackingConfiguration object. ### See Also - `initialWorldMap` (var ARWorldMap?): The state from a previous AR session to attempt to resume with this session configuration. ``` -------------------------------- ### init(referenceImages:) Source: https://developer.apple.com/documentation/arkit/imagetrackingprovider/init%28referenceimages%3A%29 Creates an image-tracking provider that tracks the reference images you supply. ```APIDOC ## init(referenceImages:) ### Description Creates an image-tracking provider that tracks the reference images you supply. ### Parameters #### referenceImages - **referenceImages** ([ReferenceImage]) - Required - An array of known images to track in a person’s surroundings. ``` -------------------------------- ### Get Components Per Vector Source: https://developer.apple.com/documentation/arkit/argeometrysource Returns the number of scalar components that make up each vector in the geometry source. For example, a vertex might have 3 components (x, y, z). ```swift var componentsPerVector: Int ``` -------------------------------- ### init() Source: https://developer.apple.com/documentation/arkit/cameraregionprovider/init%28%29 Creates a camera region provider. Available on visionOS 26.0+. ```APIDOC ## init() ### Description Creates a camera region provider. ### Return Value The camera region provider. ``` -------------------------------- ### Getting the Default Color Space Source: https://developer.apple.com/documentation/arkit/arconfiguration/videoformat-swift.class/defaultcolorspace Retrieve the color space ARKit uses for the capture session with this video format. Available on iOS, iPadOS, and Mac Catalyst starting from version 26.0. ```swift var defaultColorSpace: AVCaptureColorSpace { get } ``` -------------------------------- ### Get Geometry Source Offset Source: https://developer.apple.com/documentation/arkit/ar_geometry_source_get_offset Use this function to determine the byte offset from the start of a geometry source's buffer. This is useful for understanding data alignment and accessing specific parts of the buffer. ```c extern size_t ar_geometry_source_get_offset(ar_geometry_t geometry_source); ``` -------------------------------- ### init(device:) Source: https://developer.apple.com/documentation/arkit/accessory/init%28device%3A%29 Initializes an accessory from a GCDevice. This method is available for visionOS 26.0+. ```APIDOC ## init(device:) ### Description Initializes an accessory from a GCDevice. ### Method init ### Parameters #### Parameters - **device** (GCDevice) - Required - GCDevice to initialize accessory from. ### Throws - AccessoryTrackingProvider.Error ``` -------------------------------- ### Get Barcode Anchor Count Source: https://developer.apple.com/documentation/arkit/ar_barcode_anchors_get_count Use this function to get the number of barcode anchors. Requires visionOS 2.0+. ```c extern size_t ar_barcode_anchors_get_count(ar_barcode_anchors_t barcode_anchors); ``` -------------------------------- ### init() Source: https://developer.apple.com/documentation/arkit/handtrackingprovider/init%28%29 Creates a hand-tracking provider. This method is available on visionOS 1.0 and later. ```APIDOC ## init() ### Description Creates a hand-tracking provider. ### Availability visionOS 1.0+ ### Method Signature ```swift init() ``` ``` -------------------------------- ### ar_session_stop Source: https://developer.apple.com/documentation/arkit/ar_session_stop Stops an active ARKit session. This function is available on macOS starting from version 26.0 and on visionOS starting from version 1.0. ```APIDOC ## ar_session_stop ### Description Stops a session. ### Function Signature ``` extern void ar_session_stop(ar_session_t session); ``` ### Availability macOS 26.0+ visionOS 1.0+ ``` -------------------------------- ### init(referenceObjects:trackingConfiguration:) Source: https://developer.apple.com/documentation/arkit/objecttrackingprovider/init%28referenceobjects%3Atrackingconfiguration%3A%29 Creates an object-tracking provider. This initializer takes an array of ReferenceObject and an optional ObjectTrackingProvider.TrackingConfiguration to set up the tracking behavior. ```APIDOC ## init(referenceObjects:trackingConfiguration:) ### Description Creates an object-tracking provider. ### Parameters #### Parameters - **referenceObjects** ([ReferenceObject]) - Required - The reference objects to look for. - **trackingConfiguration** (ObjectTrackingProvider.TrackingConfiguration?) - Optional - Optional parameters for configuring object tracking. If not provided, the framework applies a set of default values. ### Discussion The method clamps the numeric parameter values for configuring tracking if they’re outside their supported range. ``` -------------------------------- ### Configuring and Running a Session Source: https://developer.apple.com/documentation/arkit/arsession/configuration Methods and structures related to starting, managing, and configuring an AR session. ```APIDOC ## See Also ### Configuring and running a session `func run(ARConfiguration, options: ARSession.RunOptions)` Starts AR processing for the session with the specified configuration and options. `var identifier: UUID` A unique identifier of the running session. `struct RunOptions` Options for transitioning an AR session’s current state when you change its configuration. `func pause()` Pauses processing in the session. ``` -------------------------------- ### Get Parent Joint in ARKit Source: https://developer.apple.com/documentation/arkit/ar_skeleton_joint_get_parent Use this function to get the parent joint of a specified skeleton joint. Available for visionOS 1.0 and later. ```c extern ar_skeleton_joint_tar_skeleton_joint_get_parent(ar_skeleton_joint_t joint); ``` -------------------------------- ### init(from:) Source: https://developer.apple.com/documentation/arkit/referenceobject/init%28from%3A%29 Creates a reference object from a URL you provide. This initializer is available for visionOS 2.0 and later. ```APIDOC ## init(from:) ### Description Creates a reference object from a URL you provide. ### Method `init(from: URL) async throws` ### Parameters #### Path Parameters * **url** (URL) - Required - Local path to the reference object model. ``` -------------------------------- ### init() Source: https://developer.apple.com/documentation/arkit/cameraframeprovider/init%28%29 Creates a camera frame provider. Available in visionOS 2.0+. ```APIDOC ## init() ### Description Creates a camera frame provider. ### Parameters This method does not take any parameters. ### Returns A new instance of CameraFrameProvider. ``` -------------------------------- ### Get Room Anchor Geometry Source: https://developer.apple.com/documentation/arkit/ar_room_anchor_get_geometry Retrieves the mesh geometry for a room anchor. Use this function to get the geometric representation of a room anchor. ```c extern ar_mesh_geometry_tar_room_anchor_get_geometry(ar_room_anchor_t room_anchor); ``` -------------------------------- ### Get Camera Region Anchor Timestamp Source: https://developer.apple.com/documentation/arkit/ar_camera_region_anchor_get_timestamp Retrieves the timestamp associated with a camera region anchor. Use this function to get the time at which the anchor was last updated or created. ```c extern CFTimeInterval ar_camera_region_anchor_get_timestamp(ar_camera_region_anchor_t camera_region_anchor); ``` -------------------------------- ### init(device:matteResolution:) Source: https://developer.apple.com/documentation/arkit/armattegenerator/init%28device%3Amatteresolution%3A%29 Creates an AR matte generator. It is recommended to create this object once and reuse it every frame for real-time matte texture generation. ```APIDOC ## init(device:matteResolution:) ### Description Creates an AR matte generator. ### Parameters #### Path Parameters - **device** (any MTLDevice) - Required - The Metal device to use for generating mattes. - **matteResolution** (ARMatteGenerator.Resolution) - Required - The desired resolution for the matte textures. ### Discussion To create matte textures in real-time, create this object once and reuse it every frame. ``` -------------------------------- ### run(_:options:) Source: https://developer.apple.com/documentation/arkit/arsession/run%28_%3Aoptions%3A%29 Starts AR processing for the session with the specified configuration and options. This method transitions the session to a new configuration, with options controlling how existing state is handled. ```APIDOC ## run(_:options:) ### Description Starts AR processing for the session with the specified configuration and options. The session tracks device motion, captures camera imagery, and processes scene data. ### Method func ### Parameters #### Parameters - **configuration** (ARConfiguration) - Required - An object that defines motion and scene tracking behaviors for the session. - **options** (ARSession.RunOptions) - Optional - Options affecting how existing session state (if any) transitions to the new configuration. Defaults to an empty set. ### Discussion Calling this method on a running session transitions immediately to the new configuration. The `options` parameter determines how existing session state transitions. By default, the session resumes device position tracking and keeps existing anchors. The method returns immediately, but the session continues to run. ``` -------------------------------- ### init() Source: https://developer.apple.com/documentation/arkit/worldtrackingprovider/init%28%29 Creates a world-tracking provider. This method is available on macOS 26.0+ and visionOS 1.0+. ```APIDOC ## init() ### Description Creates a world-tracking provider. ### Availability macOS 26.0+ visionOS 1.0+ ### Syntax ```swift init() ``` ``` -------------------------------- ### ARGeoTrackingConfiguration Initialization Source: https://developer.apple.com/documentation/arkit/argeotrackingconfiguration Initializes a new ARGeoTrackingConfiguration object. This is the basic setup for a geotracking AR experience. ```APIDOC ## init() ### Description Initializes a new geotracking configuration. ### Method init() ### Endpoint N/A (Initializes a configuration object) ### Parameters None ### Request Example ```swift let configuration = ARGeoTrackingConfiguration() ``` ### Response Returns an initialized ARGeoTrackingConfiguration object. ``` -------------------------------- ### init() Source: https://developer.apple.com/documentation/arkit/arworldtrackingconfiguration/init%28%29 Initializes a new world-tracking configuration. This configuration can then be used to run an AR experience by passing it to the run(_:options:) function. ```APIDOC ## init() ### Description Initializes a new world-tracking configuration. ### Method init() ### Parameters This method does not take any parameters. ### Discussion To use the configuration in an AR experience, pass it as an argument to your app’s `run(_:options:)` function. ``` -------------------------------- ### init() Source: https://developer.apple.com/documentation/arkit/objecttrackingprovider/trackingconfiguration-swift.struct/init%28%29 Creates a tracking configuration. This initializer is available for visionOS 2.0 and later. ```APIDOC ## init() ### Description Creates a tracking configuration. ### Method init() ### Endpoint N/A (Initializer) ### Parameters None ### Request Example ```swift init() ``` ### Response N/A (Initializer) ``` -------------------------------- ### stride Source: https://developer.apple.com/documentation/arkit/argeometrysource/stride The stride property returns the length, in bytes, from the start of one vector in the buffer to the start of the next vector. This value may include padding, so it is not always equal to the vector format's total size in bytes. ```APIDOC ## Instance Property # stride The length, in bytes, of the start of one vector in the buffer to the start of the next vector. **Availability:** iOS 13.4+, iPadOS 13.4+, Mac Catalyst 13.4+ ```swift var stride: Int { get } ``` ### Discussion Stride may contain padding, so it’s not always equal to the vector-format’s total size in bytes. ``` -------------------------------- ### Accessory.LocationName.description Source: https://developer.apple.com/documentation/arkit/accessory/locationname/description Gets the textual representation of this location name. ```APIDOC ## description ### Description Textual representation of this location name. ### Property `description`: String { get } ### Platform visionOS 26.0+ ``` -------------------------------- ### init() Source: https://developer.apple.com/documentation/arkit/arorientationtrackingconfiguration/init%28%29 Initializes a new orientation tracking configuration. This configuration can then be used by passing it to the ARSession run(_:options:) method. ```APIDOC ## init() ### Description Initializes a new orientation tracking configuration. ### Method init() ### Parameters None ### Discussion To use the configuration in an AR session, pass it to the `ARSession` `run(_:options:)` method. ``` -------------------------------- ### ar_plane_extent_get_width Source: https://developer.apple.com/documentation/arkit/ar_plane_extent_get_width Gets the width of a plane. Available in visionOS 1.0+. ```APIDOC ## Function ar_plane_extent_get_width ### Description Gets the width of a plane. ### Parameters * **plane_extent** (ar_plane_extent_t) - The plane extent to get the width from. ### Returns * **float** - The width of the plane. ``` -------------------------------- ### init() Source: https://developer.apple.com/documentation/arkit/arfacetrackingconfiguration/init%28%29 Creates a new face-tracking configuration. This configuration can then be used to run an AR session for face tracking. ```APIDOC ## init() ### Description Creates a new face-tracking configuration. ### Method init() ### Parameters This method does not take any parameters. ### Discussion To use the configuration in an AR session, pass it to the `ARSession` `run(_:options:)` method. ``` -------------------------------- ### ar_plane_extent_get_plane_anchor_from_plane_extent_transform Source: https://developer.apple.com/documentation/arkit/ar_plane_extent_get_plane_anchor_from_plane_extent_transform Gets the transform of a plane anchor from its extent transform. ```APIDOC ## ar_plane_extent_get_plane_anchor_from_plane_extent_transform ### Description Gets the transform of a plane anchor from its extent transform. ### Function Signature ```c extern simd_float4x4 ar_plane_extent_get_plane_anchor_from_plane_extent_transform(ar_plane_extent_t plane_extent); ``` ### Parameters #### Path Parameters - **plane_extent** (ar_plane_extent_t) - Description: The plane extent from which to get the plane anchor transform. ``` -------------------------------- ### init() Source: https://developer.apple.com/documentation/arkit/arimagetrackingconfiguration/init%28%29 Initializes a new image-tracking configuration. This configuration can then be used to run an AR session with image tracking capabilities. ```APIDOC ## init() ### Description Initializes a new image-tracking configuration. ### Method init() ### Parameters This method does not take any parameters. ### Discussion To use the configuration in an AR session, pass it to the `ARSession` `run(_:options:)` method. ``` -------------------------------- ### ar_object_axis_aligned_bounding_box_get_max Source: https://developer.apple.com/documentation/arkit/ar_object_axis_aligned_bounding_box_get_max Gets the maximum corner of an axis-aligned bounding box. ```APIDOC ## ar_object_axis_aligned_bounding_box_get_max ### Description Retrieves the maximum corner of an axis-aligned bounding box. ### Parameters #### Path Parameters - **bounding_box** (ar_object_axis_aligned_bounding_box_t) - Required - The axis-aligned bounding box. ### Returns - **simd_float3** - The maximum corner of the bounding box. ``` -------------------------------- ### Initialize and Run Accessory Tracking Source: https://developer.apple.com/documentation/arkit/tracking-accessories-in-volumetric-windows Initializes the AccessoryTrackingProvider with available accessories and runs the ARKit session. This snippet is used to start the tracking process. ```swift let accessoryTracking = AccessoryTrackingProvider(accessories: accessories) do { try await arkitSession.run([accessoryTracking]) state = .inGame gameState = .startNewGame } catch { return } for await update in accessoryTracking.anchorUpdates { process(update) } ``` -------------------------------- ### ar_object_axis_aligned_bounding_box_get_min Source: https://developer.apple.com/documentation/arkit/ar_object_axis_aligned_bounding_box_get_min Gets the minimum corner of an axis-aligned bounding box. ```APIDOC ## ar_object_axis_aligned_bounding_box_get_min ### Description Retrieves the minimum corner of an axis-aligned bounding box. ### Parameters #### Path Parameters - **bounding_box** (ar_object_axis_aligned_bounding_box_t) - Required - The axis-aligned bounding box. ### Returns - **simd_float3** - The minimum corner of the bounding box. ``` -------------------------------- ### ar_mesh_geometry_get_faces Source: https://developer.apple.com/documentation/arkit/ar_mesh_geometry_get_faces Gets the faces of the mesh. Available in visionOS 1.0+. ```APIDOC ## ar_mesh_geometry_get_faces ### Description Gets the faces of the mesh. ### Function Signature ```c ear_geometry_element_tar_mesh_geometry_get_faces(ar_mesh_geometry_t mesh_geometry); ``` ### Parameters * **mesh_geometry** (ar_mesh_geometry_t) - The mesh geometry object. ``` -------------------------------- ### Creating a Configuration Source: https://developer.apple.com/documentation/arkit/arfacetrackingconfiguration Creates a new face-tracking configuration instance. ```APIDOC ## Creating a Configuration ### `init()` Creates a new face-tracking configuration. ``` -------------------------------- ### Start Screen Capture with ReplayKit Source: https://developer.apple.com/documentation/arkit/streaming-an-ar-experience Initiates a screen-recording session using ReplayKit to capture the app's main window content for remote sharing. ```swift RPScreenRecorder.shared().startCapture { ``` -------------------------------- ### ar_mesh_geometry_get_vertices Source: https://developer.apple.com/documentation/arkit/ar_mesh_geometry_get_vertices Gets the vertices of the mesh. Available in visionOS 1.0+. ```APIDOC ## ar_mesh_geometry_get_vertices ### Description Gets the vertices of the mesh. ### Function Signature ```c extern ar_geometry_source_tar_mesh_geometry_get_vertices(ar_mesh_geometry_t mesh_geometry); ``` ### Parameters #### Path Parameters - **mesh_geometry** (ar_mesh_geometry_t) - The mesh geometry from which to retrieve vertices. ``` -------------------------------- ### participantIdentifier Source: https://developer.apple.com/documentation/arkit/sharedcoordinatespaceprovider/participantidentifier Get the identifier of the local participant. Available in visionOS 26.0+. ```APIDOC ## Instance Property # participantIdentifier Get the identifier of the local participant. visionOS 26.0+ ```swift final var participantIdentifier: UUID { get } ``` ``` -------------------------------- ### init(cgimage:physicalSize:orientation:) Source: https://developer.apple.com/documentation/arkit/referenceimage/init%28cgimage%3Aphysicalsize%3Aorientation%3A%29 Creates a reference image from a Core Graphics image. This initializer is used to set up an image that ARKit can use for tracking, requiring the image data, its real-world size, and its orientation. ```APIDOC ## init(cgimage:physicalSize:orientation:) ### Description Creates a reference image from a Core Graphics image. ### Parameters #### Parameters - **cgimage** (CGImage) - The image to use as a reference during tracking. - **physicalSize** (CGSize) - The size of the image in meters. - **orientation** (CGImagePropertyOrientation) - Optional. The orientation of the image asset. Defaults to .up. ``` -------------------------------- ### Reference Object Name Source: https://developer.apple.com/documentation/arkit/referenceobject Gets or sets the name of the reference object. ```swift var name: String ``` -------------------------------- ### surfaceClassification Source: https://developer.apple.com/documentation/arkit/planeanchor/surfaceclassification Gets the surface classification of this plane. Available in visionOS 26.0+. ```APIDOC ## surfaceClassification ### Description Get the surface classification of this plane. ### Property `surfaceClassification: SurfaceClassification { get }` ### Platform Availability visionOS 26.0+ ``` -------------------------------- ### init(symbologies:) Source: https://developer.apple.com/documentation/arkit/barcodedetectionprovider/init%28symbologies%3A%29 Creates a barcode detection provider that looks for the specified symbologies. Available for visionOS 2.0+. ```APIDOC ## init(symbologies:) ### Description Creates a barcode detection provider that looks for the specified symbologies. ### Parameters #### Parameters - **symbologies** (Array) - Required - The barcode symbologies to look for. ``` -------------------------------- ### Get Environment Texture Source: https://developer.apple.com/documentation/arkit/environmentprobeanchor Retrieves the environment texture associated with an anchor. ```swift var environmentTexture: (any MTLTexture)? ``` -------------------------------- ### Get Plane Extent Width Source: https://developer.apple.com/documentation/arkit/arkit-in-visionos-c-api Retrieves the width of a plane from its extent. ```APIDOC ## ar_plane_extent_get_width ### Description Gets the width of a plane. ### Function Signature `float ar_plane_extent_get_width(ar_extent_t extent);` ``` -------------------------------- ### Set lighting environment with usdzconvert Source: https://developer.apple.com/documentation/arkit/specifying-a-lighting-environment-in-ar-quick-look Use the `usdzconvert` command-line tool to specify the lighting environment when converting files. Pass an integer value between `0` and `2` for the `--preferrediblversion` argument. ```bash usdzconvert fireHydrant.obj --useObjMtl --preferrediblversion 2 ``` -------------------------------- ### init(originFromAnchorTransform:) Source: https://developer.apple.com/documentation/arkit/worldanchor/init%28originfromanchortransform%3A%29 Creates a world anchor from a position and orientation in world space. ```APIDOC ## init(originFromAnchorTransform:) ### Description Creates a world anchor from a position and orientation in world space. ### Parameters #### Path Parameters - **originFromAnchorTransform** (simd_float4x4) - The transform from the world anchor to the origin coordinate system. ``` -------------------------------- ### Get Plane Extent Height Source: https://developer.apple.com/documentation/arkit/arkit-in-visionos-c-api Retrieves the height of a plane from its extent. ```APIDOC ## ar_plane_extent_get_height ### Description Gets the height of a plane. ### Function Signature `float ar_plane_extent_get_height(ar_extent_t extent);` ``` -------------------------------- ### Get Surface Classification Source: https://developer.apple.com/documentation/arkit/arkit-in-visionos-c-api Retrieves the surface classification of a plane anchor. ```APIDOC ## ar_plane_anchor_get_surface_classification ### Description Get the surface classification of a plane anchor. ### Function Signature `ar_surface_classification_t ar_plane_anchor_get_surface_classification(ar_plane_anchor_t anchor);` ``` -------------------------------- ### ObjectTrackingProvider Initialization Source: https://developer.apple.com/documentation/arkit/objecttrackingprovider Creates an object-tracking provider with specified reference objects and optional tracking configuration. ```APIDOC ## `init(referenceObjects: [ReferenceObject], trackingConfiguration: ObjectTrackingProvider.TrackingConfiguration?)` ### Description Creates an object-tracking provider. ### Parameters #### Path Parameters - **referenceObjects** ([ReferenceObject]) - Required - The list of reference objects to track. - **trackingConfiguration** (ObjectTrackingProvider.TrackingConfiguration?) - Optional - The configuration for object tracking. ``` -------------------------------- ### Get Capture Timestamp Source: https://developer.apple.com/documentation/arkit/arframe Retrieve the precise time at which the frame was captured. ```swift var timestamp: TimeInterval ``` -------------------------------- ### init(device:) Source: https://developer.apple.com/documentation/arkit/arkitsession/init%28device%3A%29 Creates a new ARKit session connected to the specified device. This initializer is available for macOS 26.0+ and requires JavaScript to be enabled in the browser. ```APIDOC ## init(device:) ### Description Create a new session connected to the specified device. ### Parameters #### Path Parameters * **device** (RemoteDeviceIdentifier) - Required - The device to connect to. ``` -------------------------------- ### primitiveType Source: https://developer.apple.com/documentation/arkit/argeometryelement/primitivetype Gets the geometry's type of data, such as triangle or line. ```APIDOC ## primitiveType ### Description Gets the geometry's type of data (triangle, or line). ### Property `var primitiveType: ARGeometryPrimitiveType { get }` ### Supported Platforms iOS 13.4+ iPadOS 13.4+ Mac Catalyst 13.4+ ``` -------------------------------- ### init(transform:extent:) Source: https://developer.apple.com/documentation/arkit/arenvironmentprobeanchor Creates a new environment probe anchor with a specified transform and extent. ```APIDOC ## init(transform:extent:) ### Description Creates a new environment probe anchor. ### Parameters #### Path Parameters - **transform** (simd_float4x4) - Description of the transform - **extent** (simd_float3) - Description of the extent ``` -------------------------------- ### ar_scene_reconstruction_configuration_get_scene_reconstruction_mode Source: https://developer.apple.com/documentation/arkit/ar_scene_reconstruction_configuration_get_scene_reconstruction_mode Gets the scene reconstruction mode. Available in visionOS 1.0+. ```APIDOC ## ar_scene_reconstruction_configuration_get_scene_reconstruction_mode ### Description Gets the scene reconstruction mode. ### Function Signature ```c extern ar_scene_reconstruction_mode_t ar_scene_reconstruction_configuration_get_scene_reconstruction_mode(ar_scene_reconstruction_configuration_t scene_reconstruction_configuration); ``` ### Parameters * **scene_reconstruction_configuration** (ar_scene_reconstruction_configuration_t) - The scene reconstruction configuration object. ``` -------------------------------- ### ar_mesh_anchor_get_geometry Source: https://developer.apple.com/documentation/arkit/ar_mesh_anchor_get_geometry Gets the shape of a mesh anchor. Available in visionOS 1.0+. ```APIDOC ## Function: ar_mesh_anchor_get_geometry ### Description Gets the shape of a mesh anchor. ### Parameters * `mesh_anchor` (ar_mesh_anchor_t) - The mesh anchor for which to retrieve the geometry. ### Returns (ar_mesh_geometry_t) - The geometry of the mesh anchor. ``` -------------------------------- ### init() Source: https://developer.apple.com/documentation/arkit/argeotrackingconfiguration/init%28%29 Initializes a new geotracking configuration. This configuration can then be used in an AR experience by passing it to the run(_:options:) function. ```APIDOC ## init() ### Description Initializes a new geotracking configuration. ### Method init() ### Parameters This method does not take any parameters. ### Discussion To use the configuration in an AR experience, pass it as an argument to your app’s `run(_:options:)` function. ``` -------------------------------- ### WorldTrackingProvider Initialization Source: https://developer.apple.com/documentation/arkit/worldtrackingprovider Creates a new instance of the WorldTrackingProvider to begin tracking world data. ```APIDOC ## init() ### Description Creates a world-tracking provider. ### Method init() ### Parameters None ``` -------------------------------- ### Initialize Multipeer Connectivity Services Source: https://developer.apple.com/documentation/arkit/creating-a-multiuser-ar-experience Sets up the MCSession, MCNearbyServiceAdvertiser, and MCNearbyServiceBrowser for multipeer communication. ```swift session = MCSession(peer: myPeerID, securityIdentity: nil, encryptionPreference: .required) session.delegate = self serviceAdvertiser = MCNearbyServiceAdvertiser(peer: myPeerID, discoveryInfo: nil, serviceType: MultipeerSession.serviceType) serviceAdvertiser.delegate = self serviceAdvertiser.startAdvertisingPeer() serviceBrowser = MCNearbyServiceBrowser(peer: myPeerID, serviceType: MultipeerSession.serviceType) serviceBrowser.delegate = self serviceBrowser.startBrowsingForPeers() ``` -------------------------------- ### origin Source: https://developer.apple.com/documentation/arkit/arraycastquery/origin A 3D coordinate that defines the ray’s starting place. ```APIDOC ## origin ### Description A 3D coordinate that defines the ray’s starting place. ### Property `var origin: simd_float3 { get }` ### Availability iOS 13.0+
iPadOS 13.0+
Mac Catalyst 13.1+ ``` -------------------------------- ### Creating a Camera Frame Provider Source: https://developer.apple.com/documentation/arkit/cameraframeprovider Initializes a new instance of CameraFrameProvider. ```APIDOC ## Creating a camera frame provider `init()` Creates a camera frame provider. ``` -------------------------------- ### Other ARMeshClassification Cases Source: https://developer.apple.com/documentation/arkit/armeshclassification/none Provides examples of other ARMeshClassification cases for real-world surfaces. ```swift case ceiling ``` ```swift case door ``` ```swift case floor ``` ```swift case seat ``` ```swift case table ``` ```swift case wall ``` ```swift case window ``` -------------------------------- ### init(_:) Source: https://developer.apple.com/documentation/arkit/accessory/locationname/init%28_%3A%29 Initializes a new instance of Accessory.LocationName. This initializer is provided as a convenience when a label is not explicitly required. It accepts a raw string value to create the location name. ```APIDOC ## init(_:) ### Description Initializes a new instance of Accessory.LocationName without a label, provided as a convenience. This method is available for visionOS 26.0 and later. ### Method Initializer ### Parameters #### Path Parameters - **rawValue** (String) - Required - The raw string value to initialize the LocationName with. ### Request Example ```swift let locationName = Accessory.LocationName("MyCustomLocation") ``` ### Response #### Success Response An instance of `Accessory.LocationName` initialized with the provided raw string value. #### Response Example ```swift // Assuming the initializer is successful, no explicit response object is returned, // but the `locationName` variable will hold the initialized object. ``` ``` -------------------------------- ### PlaneAnchor Alignment Source: https://developer.apple.com/documentation/arkit/planeanchor Gets the general orientation of a detected plane with respect to gravity. ```swift var alignment: PlaneAnchor.Alignment ``` -------------------------------- ### Get Mesh Geometry Source: https://developer.apple.com/documentation/arkit/meshanchor/geometry-swift.struct Accesses the geometric shape data of a mesh anchor. ```swift var geometry: MeshAnchor.Geometry ``` -------------------------------- ### Create Image Tracking Provider Source: https://developer.apple.com/documentation/arkit/ar_image_tracking_provider_create Creates an image tracking provider that tracks reference images. Requires visionOS 1.0+. ```c extern ar_image_tracking_provider_tar_image_tracking_provider_create(ar_image_tracking_configuration_t image_tracking_configuration); ``` -------------------------------- ### Get Camera Scale Reference Source: https://developer.apple.com/documentation/arkit/environmentprobeanchor Retrieves the camera scale reference of this anchor. ```swift var cameraScaleReference: Float ``` -------------------------------- ### RoomTrackingProvider Initialization Source: https://developer.apple.com/documentation/arkit/roomtrackingprovider Creates an instance of the RoomTrackingProvider to begin receiving room-related data. ```APIDOC ## `init()` ### Description Creates a room-tracking provider. ### Method `init()` ### Parameters None ``` -------------------------------- ### Get Plane Geometry Extent Source: https://developer.apple.com/documentation/arkit/arkit-in-visionos-c-api Retrieves the dimensions (size) of a detected plane. ```APIDOC ## ar_plane_geometry_get_plane_extent ### Description Gets the size of a plane. ### Function Signature `ar_extent_t ar_plane_geometry_get_plane_extent(ar_plane_geometry_t geometry);` ``` -------------------------------- ### init(data:) Source: https://developer.apple.com/documentation/arkit/sharedcoordinatespaceprovider/coordinatespacedata/init%28data%3A%29 Initializes a `CoordinateSpaceData` from a Data blob received over the network. ```APIDOC ## init(data:) ### Description Initializes a `CoordinateSpaceData` from a Data blob received over the network. ### Parameters #### Data Blob * **data** (Data) - Required - Data blob received over the network. ``` -------------------------------- ### Get Plane Anchor Geometry Source: https://developer.apple.com/documentation/arkit/arkit-in-visionos-c-api Retrieves the geometric shape of a plane anchor. ```APIDOC ## ar_plane_anchor_get_geometry ### Description Gets the shape of a plane anchor. ### Function Signature `ar_plane_geometry_t ar_plane_anchor_get_geometry(ar_plane_anchor_t anchor);` ``` -------------------------------- ### Set up a camera feed with MetalDepthView Source: https://developer.apple.com/documentation/arkit/displaying-a-point-cloud-using-scene-depth The sample project defines a SwiftUI Scene to display a camera feed, abstracting view code into a custom MetalDepthView. ```swift struct ContentView: View { var body: some View { Scene { WindowGroup { MetalDepthView() } } } } ``` -------------------------------- ### HandTrackingProvider Initialization and Support Source: https://developer.apple.com/documentation/arkit/handtrackingprovider Provides methods for creating a hand-tracking provider and checking if the current environment supports it. ```APIDOC ## Class HandTrackingProvider A source of live data about the position of a person’s hands and hand joints. ### Creating a hand-tracking provider `init()` Creates a hand-tracking provider. `static var isSupported: Bool` A Boolean value that indicates whether the current runtime environment supports hand-tracking providers. `static var requiredAuthorizations: [ARKitSession.AuthorizationType]` The types of authorizations necessary for tracking hands. ``` -------------------------------- ### Get Active Frame Semantics Source: https://developer.apple.com/documentation/arkit/arconfiguration/framesemantics-swift.struct Retrieves the set of active semantics on the frame. ```swift var frameSemantics: ARConfiguration.FrameSemantics ``` -------------------------------- ### Accessory.Source.device(_:) Source: https://developer.apple.com/documentation/arkit/accessory/source-swift.enum/device%28_%3A%29 Initializes an Accessory.Source with the GCDevice it is associated with. This property provides access to the specific device instance that the accessory is connected to. ```APIDOC ## Accessory.Source.device(_:) ### Description Device this accessory was initialized with. ### Method `init(device: GCDevice)` ### Parameters #### Path Parameters - **device** (GCDevice) - Required - The GCDevice instance associated with the accessory. ### Response #### Success Response (200) - **device** (GCDevice) - The GCDevice instance that the accessory was initialized with. ### Request Example ```swift let accessorySource = Accessory.Source(device: myGCDevice) ``` ### Response Example ```swift // Assuming accessorySource is an instance of Accessory.Source let associatedDevice = accessorySource.device ``` ``` -------------------------------- ### ar_plane_geometry_get_mesh_vertices Source: https://developer.apple.com/documentation/arkit/ar_plane_geometry_get_mesh_vertices Gets the vertices in the mesh that describes a plane. Available in visionOS 1.0+. ```APIDOC ## ar_plane_geometry_get_mesh_vertices ### Description Gets the vertices in the mesh that describes a plane. ### Function Signature ```c extern ar_geometry_source_tar_plane_geometry_get_mesh_vertices(ar_plane_geometry_t plane_geometry); ``` ### Parameters #### Path Parameters - **plane_geometry** (ar_plane_geometry_t) - The plane geometry from which to get the mesh vertices. ``` -------------------------------- ### init(name:transform:extent:) Source: https://developer.apple.com/documentation/arkit/arenvironmentprobeanchor Creates a new anchor object with a descriptive name, transform, and extent. ```APIDOC ## init(name:transform:extent:) ### Description Creates a new anchor object with a descriptive name. ### Parameters #### Path Parameters - **name** (String) - Description of the name - **transform** (simd_float4x4) - Description of the transform - **extent** (simd_float3) - Description of the extent ``` -------------------------------- ### ar_plane_geometry_get_mesh_faces Source: https://developer.apple.com/documentation/arkit/ar_plane_geometry_get_mesh_faces Gets the faces in the mesh that describes a plane. Available in visionOS 1.0+. ```APIDOC ## ar_plane_geometry_get_mesh_faces ### Description Gets the faces in the mesh that describes a plane. ### Parameters #### Path Parameters - **plane_geometry** (ar_plane_geometry_t) - Required - The plane geometry for which to retrieve mesh faces. ``` -------------------------------- ### ar_plane_extent_get_height Source: https://developer.apple.com/documentation/arkit/ar_plane_extent_get_height Gets the height of a plane. This function is available for visionOS 1.0 and later. ```APIDOC ## ar_plane_extent_get_height ### Description Gets the height of a plane. ### Parameters #### Path Parameters - **plane_extent** (ar_plane_extent_t) - Required - The plane extent to get the height from. ### Returns - **float** - The height of the plane. ``` -------------------------------- ### init() Source: https://developer.apple.com/documentation/arkit/arpositionaltrackingconfiguration/init%28%29 Creates a new positional tracking configuration. This initializer is available on iOS 13.0+, iPadOS 13.0+, and Mac Catalyst 13.1+. ```APIDOC ## init() ### Description Creates a new positional tracking configuration. ### Availability iOS 13.0+
iPadOS 13.0+
Mac Catalyst 13.1+ ### Method Initializer ### Code ``` init() ``` ``` -------------------------------- ### ar_image_anchors_get_count Source: https://developer.apple.com/documentation/arkit/ar_image_anchors_get_count Gets the number of image anchors in the collection. Available in visionOS 1.0+. ```APIDOC ## ar_image_anchors_get_count ### Description Gets the number of image anchors in the collection. ### Parameters #### Path Parameters - **image_anchors** (ar_image_anchors_t) - Description: The collection of image anchors. ### Response #### Success Response - **return value** (size_t) - The number of image anchors in the collection. ``` -------------------------------- ### init(named:from:) Source: https://developer.apple.com/documentation/arkit/referenceobject/init%28named%3Afrom%3A%29 Creates a reference object from a bundle by specifying its name and the bundle to load it from. If no bundle is provided, the main bundle is used. ```APIDOC ## init(named:from:) ### Description Creates a reference object from a bundle. ### Method `init` ### Parameters #### Path Parameters * **named** (String) - Required - Name of object to load in bundle. * **bundle** (Bundle?) - Optional - Bundle to load from. If unspecified, defaults to the main bundle. ### See Also ### Creating reference objects `init(from: URL) async throws` Creates a reference object from a URL you provide. ``` -------------------------------- ### Get Anchor Timestamp Source: https://developer.apple.com/documentation/arkit/anchor/timestamp-726v3 Retrieves the timestamp of an ARKit anchor. This property is read-only. ```swift var timestamp: TimeInterval { get } ``` -------------------------------- ### ObjectTrackingProvider.TrackingConfiguration Source: https://developer.apple.com/documentation/arkit/objecttrackingprovider/trackingconfiguration-swift.struct Initializes a new tracking configuration with default parameters. ```APIDOC ## `init()` ### Description Creates a tracking configuration. ### Method `init()` ### Parameters None ``` -------------------------------- ### init() Source: https://developer.apple.com/documentation/arkit/arkitsession/init%28%29 Creates a new ARKitSession instance. ARKit stops sessions when they are deinitialized. ```APIDOC ## init() ### Description Creates a new ARKitSession. ### Method `init()` ### Parameters None ### Discussion ARKit stops sessions when they’re deinitialized. ``` -------------------------------- ### Implement HasScreenSpaceView in Entity Source: https://developer.apple.com/documentation/arkit/creating-screen-annotations-for-objects-in-an-ar-experience Example of implementing the HasScreenSpaceView protocol in a custom entity. ```swift class StickyNoteEntity: Entity, HasAnchoring, HasScreenSpaceView { // ... ``` -------------------------------- ### Get All Tracked World Anchors Source: https://developer.apple.com/documentation/arkit/worldtrackingprovider Retrieves an array of all currently tracked world anchors. ```swift var allAnchors: [WorldAnchor]? ``` -------------------------------- ### Initialize ARMatteGenerator Source: https://developer.apple.com/documentation/arkit/armattegenerator Initializes an AR matte generator with a Metal device and a specified matte resolution. Ensure you have a valid MTLDevice and choose an appropriate resolution for your needs. ```swift init(device: any MTLDevice, matteResolution: ARMatteGenerator.Resolution) ``` -------------------------------- ### Get Room Anchor Updates Source: https://developer.apple.com/documentation/arkit/roomtrackingprovider Subscribes to an asynchronous sequence of updates for room anchors. ```swift var anchorUpdates: AnchorUpdateSequence ``` -------------------------------- ### run(_:) Source: https://developer.apple.com/documentation/arkit/arkitsession/run%28_%3A%29 Runs a session with the data providers you supply. This method initiates an ARKit session, and if authorization is required by any data provider and has not been previously requested, the system will prompt the user for authorization. Calling this method on an active session will stop the previous providers unless they are included in the new set. ```APIDOC ## run(_:) ### Description Runs a session with the data providers you supply. ### Method `func run(_ dataProviders: [any DataProvider]) async throws` ### Parameters #### Path Parameters - **dataProviders** ([any DataProvider]) - Required - The providers that supply data during this session. ### Discussion If you call this method without previously calling the `requestAuthorization(for:)` method, and if any of the data providers you supply require authorization, the system prompts the user for authorization when you call `run(_:)`. If you call this method on an already-running session, ARKit stops the previous providers unless they’re also in the new array of providers. This method either throws an `ARKitSession.Error` or asserts when there’s a problem with the data providers you supply. Potential problems include: * Passing a data provider that’s already in use in another session * Passing a data provider that’s stopped * Passing a data provider that’s not supported in the current context, such as in Simulator When this method throws an error, its session stops all of the associated data providers. ### See Also - `convenience init()` - `func stop()` - `struct Error` ``` -------------------------------- ### Get All Room Anchors Source: https://developer.apple.com/documentation/arkit/roomtrackingprovider Retrieves an array of all room anchors currently being tracked by the provider. ```swift var allAnchors: [RoomAnchor] ``` -------------------------------- ### ARMatteGenerator Initialization Source: https://developer.apple.com/documentation/arkit/armattegenerator Creates an AR matte generator instance. Requires a Metal device and a specified matte resolution. ```APIDOC ## init(device: any MTLDevice, matteResolution: ARMatteGenerator.Resolution) ### Description Creates an AR matte generator. ### Parameters #### Path Parameters * **device** (any MTLDevice) - The Metal device to use for texture generation. * **matteResolution** (ARMatteGenerator.Resolution) - The desired resolution for the matte texture. ``` -------------------------------- ### Get Current Room Anchor Source: https://developer.apple.com/documentation/arkit/roomtrackingprovider Accesses the current room anchor that the provider is tracking, if any. ```swift var currentRoomAnchor: RoomAnchor? ``` -------------------------------- ### ARBodyTrackingConfiguration Source: https://developer.apple.com/documentation/arkit/arbodytrackingconfiguration Initializes a new ARBodyTrackingConfiguration object. ```APIDOC ## init() ### Description Creates a new body tracking configuration. ### Method init() ### Parameters None ``` -------------------------------- ### Inspecting Hand Joints Source: https://developer.apple.com/documentation/arkit/handskeleton/joint Access properties to get the name and parent of a hand joint. ```swift var name: HandSkeleton.JointName ``` ```swift var parentJoint: HandSkeleton.Joint? ``` -------------------------------- ### Get maxFrameDuration Source: https://developer.apple.com/documentation/arkit/cameravideoformat/maxframeduration Retrieve the maximum frame duration for a video format. This property is read-only. ```swift var maxFrameDuration: Float { get } ``` -------------------------------- ### Initialize Scene Reconstruction Provider Source: https://developer.apple.com/documentation/arkit/scenereconstructionprovider/mode Creates a scene reconstruction provider with specified reconstruction modes. Ensure the runtime environment supports scene reconstruction. ```swift init(modes: [SceneReconstructionProvider.Mode]) ``` -------------------------------- ### run(ARConfiguration, options: ARSession.RunOptions) Source: https://developer.apple.com/documentation/arkit/arsession Starts AR processing for the session with the specified configuration and options. This method is crucial for initiating AR tracking and analysis. ```APIDOC ## run(ARConfiguration, options: ARSession.RunOptions) ### Description Starts AR processing for the session with the specified configuration and options. ### Method func ### Parameters - **configuration** (ARConfiguration) - The configuration object that defines motion and scene tracking behaviors. - **options** (ARSession.RunOptions) - Options for transitioning the session's state. ``` -------------------------------- ### primarySample Source: https://developer.apple.com/documentation/arkit/cameraframe/primarysample Gets the primary frame sample for a camera frame. Available in visionOS 2.0+. ```APIDOC ## primarySample ### Description Gets the primary frame sample for a camera frame. ### Property `var primarySample: CameraFrame.Sample { get }` ### Availability visionOS 2.0+ ``` -------------------------------- ### Get Plane Extent Transform Source: https://developer.apple.com/documentation/arkit/arkit-in-visionos-c-api Retrieves the transform of a plane anchor from its extent transform. ```APIDOC ## ar_plane_extent_get_plane_anchor_from_plane_extent_transform ### Description Gets the transform of a plane anchor from its extent transform. ### Function Signature `ar_transform_t ar_plane_extent_get_plane_anchor_from_plane_extent_transform(ar_extent_t extent);` ``` -------------------------------- ### init(pixelBuffer:physicalSize:orientation:) Source: https://developer.apple.com/documentation/arkit/referenceimage/init%28pixelbuffer%3Aphysicalsize%3Aorientation%3A%29 Creates a reference image from a pixel buffer. This initializer is available for visionOS 1.0 and later. ```APIDOC ## init(pixelBuffer:physicalSize:orientation:) ### Description Creates a reference image from a pixel buffer. ### Parameters `pixelBuffer` The image to use as a reference during tracking. `physicalSize` The size of the image in meters. `orientation` The orientation of the image asset. Defaults to .up. ``` -------------------------------- ### Get ARPlaneExtent Height Source: https://developer.apple.com/documentation/arkit/arplaneextent/height Access the estimated height of a detected plane. This property is read-only. ```swift var height: Float { get } ``` -------------------------------- ### init() Source: https://developer.apple.com/documentation/arkit/sharedcoordinatespaceprovider/init%28%29 Creates a shared coordinate space provider. This is the initializer for the SharedCoordinateSpaceProvider class. ```APIDOC ## init() ### Description Create a shared coordinate space provider. ### Method Initializer ### Return Value The shared coordinate space provider. ### Code Example ```swift init() ``` ``` -------------------------------- ### Enable Image Detection Configuration Source: https://developer.apple.com/documentation/arkit/detecting-images-in-an-ar-experience Load reference images from an asset catalog, create a world-tracking configuration, and set the detectionImages property. Run the AR session with the configuration. ```swift guard let referenceImages = ARReferenceImage.referenceImages(inGroupNamed: "AR Resources", bundle: nil) else { fatalError("Missing expected asset catalog resources.") } let configuration = ARWorldTrackingConfiguration() configuration.detectionImages = referenceImages session.run(configuration, options: [.resetTracking, .removeExistingAnchors]) ``` -------------------------------- ### Get Session Description Source: https://developer.apple.com/documentation/arkit/arkitsession/description Retrieve the textual representation of the ARKit session. This property is read-only. ```swift final var description: String { get } ``` -------------------------------- ### AR_EXTERN_C_BEGIN Source: https://developer.apple.com/documentation/arkit/arkit-in-visionos-c-api Macro to begin C linkage for ARKit functions. ```APIDOC ## Macro: AR_EXTERN_C_BEGIN ### Description Macro used to begin C linkage for ARKit functions, ensuring compatibility with C compilers. ### Usage ```c AR_EXTERN_C_BEGIN // C functions declarations AR_EXTERN_C_END ``` ``` -------------------------------- ### ar_skeleton_joint_get_parent Source: https://developer.apple.com/documentation/arkit/ar_skeleton_joint_get_parent Gets the parent of a skeleton joint. This function is available for visionOS 1.0 and later. ```APIDOC ## Function: ar_skeleton_joint_get_parent ### Description Retrieves the parent joint of a given skeleton joint. ### Synopsis ```c extern ar_skeleton_joint_tar_skeleton_joint_get_parent(ar_skeleton_joint_t joint); ``` ### Parameters * **joint** (ar_skeleton_joint_t) - The skeleton joint for which to find the parent. ``` -------------------------------- ### Create Object Tracking Configuration Source: https://developer.apple.com/documentation/arkit/ar_object_tracking_configuration_create Use this function to create a new object tracking configuration. This is the initial step before configuring detection rates or maximum instances. ```c extern ar_object_tracking_configuration_tar_object_tracking_configuration_create(); ``` -------------------------------- ### ar_reference_image_get_name Source: https://developer.apple.com/documentation/arkit/ar_reference_image_get_name Gets the name of a reference image. This function is available for visionOS 1.0 and later. ```APIDOC ## ar_reference_image_get_name ### Description Gets the name of a reference image. ### Parameters #### Path Parameters - **reference_image** (ar_reference_image_t) - Description: The reference image to get the name from. ### Return Value - **const char *** - The name of the reference image. ```