Using Apple’s ARKit APIs with Godot¶
This is a guide on using the ARKit APIs in this Godot addon. For an overview of what you can do with ARKit, check [Apple’s ARKit Documentation](https://developer.apple.com/documentation/arkit/).
As with the rest of GodotApplePlugins, the binding surfaces the same class names that Apple uses for their own data types to simplify looking things up and finding resources online. Method names follow the Godot naming scheme (snake_case instead of camelCase).
Table of Contents¶
Available Types¶
The ARKit binding is documented in doc_classes/ and in the published API reference. The surface includes:
Core Session Types¶
ARSession— manages the AR experience lifecycleARWorldTrackingConfiguration— configures six-degrees-of-freedom world trackingARFrame— a single frame of AR data including camera transforms and anchorsARCamera— camera position, orientation, and tracking stateARLightEstimate— ambient lighting information for the sceneARPointCloud— a collection of 3D points detected in the scene
Anchors¶
ARAnchor— base anchor representing a tracked position in 3D spaceARPlaneAnchor— a detected horizontal or vertical surfaceARImageAnchor— a detected known image in the environmentARMeshAnchor— a mesh geometry representing real-world surfacesARFaceAnchor— a detected face with blend shapes and geometryARBodyAnchor— a detected human body with skeletal dataARHandAnchor— a detected hand with joint positionsAREnvironmentProbeAnchor— environment lighting information at a pointARGeoAnchor— an anchor placed at a geographic coordinate
Session Helpers¶
ARRaycastQuery— a query for raycasting against real-world geometryARRaycastResult— the result of a raycastARTrackedRaycast— a continuously updated raycastARWorldMap— a serializable snapshot of the AR world stateARCoachingOverlay— Apple’s built-in onboarding UI for ARARCollaborationData— data for multi-user AR sessions
Platform Notes¶
iOS provides the broadest ARKit coverage.
visionOS uses the provider-based
ARKitSessionbackend.macOS uses the remote-device ARKit session workflow exposed by Apple.