← Back to Skills Marketplace
tomkrikorian

Arkit Visionos Developer

by Tom Krikorian · GitHub ↗ · v0.1.0 · MIT-0
cross-platform ✓ Security Clean
143
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install arkit-visionos-developer
Description
Build and debug ARKit features for visionOS, including ARKitSession setup, authorization, data providers (world tracking, plane detection, scene reconstructi...
README (SKILL.md)

ARKit visionOS Developer

Description and Goals

This skill provides comprehensive guidance for implementing ARKit-powered features on visionOS. ARKit on visionOS uses ARKitSession with data providers to access world tracking, hand tracking, plane detection, scene reconstruction, and other spatial data, which can then be bridged into RealityKit content.

Goals

  • Enable developers to set up and manage ARKitSession on visionOS
  • Guide proper authorization handling for ARKit data providers
  • Help developers choose and configure appropriate data providers
  • Support anchor processing and RealityKit integration
  • Ensure proper lifecycle management of ARKit sessions

What This Skill Should Do

When implementing ARKit features on visionOS, this skill should:

  1. Guide ARKitSession setup - Help you create and manage long-lived ARKitSession instances
  2. Handle authorization - Show how to request and check authorization for required data types
  3. Select data providers - Help you choose the right providers (world tracking, hand tracking, plane detection, etc.)
  4. Process anchors - Demonstrate how to consume anchor updates and map them to RealityKit entities
  5. Manage lifecycle - Ensure proper session start/stop and task cancellation
  6. Bridge to RealityKit - Show how to integrate ARKit anchors with RealityKit content

Load the appropriate reference file from the tables below for detailed usage, code examples, and best practices.

Quick Start Workflow

  1. Add NSWorldSensingUsageDescription, NSHandsTrackingUsageDescription, and NSMainCameraUsageDescription to Info.plist as needed for the providers you use.
  2. Use the presentation style required by the selected providers. Some providers require immersive space, while others have more specific rules.
  3. Create a long-lived ARKitSession and the data providers you need.
  4. Request authorization for provider-required data types before running the session.
  5. Run the session with your providers and observe anchorUpdates streams.
  6. Map anchors to RealityKit entities and keep state in a model layer.
  7. Observe ARKitSession.events for authorization changes and errors.
  8. Stop the session and cancel tasks when leaving the immersive space.

Information About the Skill

Core Concepts

ARKitSession Lifecycle

  • Keep a strong reference to the session; call run(_:) with providers, stop on teardown.
  • Sessions stop automatically on deinit, so maintain references throughout the immersive experience.

Authorization

  • Use requestAuthorization(for:) or queryAuthorization(for:) and handle denied states gracefully.
  • Request authorization before running the session with providers that require it.

Data Providers

  • Choose providers for world tracking, plane detection, scene reconstruction, and hand tracking based on the feature set.
  • Providers expose anchorUpdates streams that you consume to process anchors.

Anchors and Updates

  • Consume provider anchorUpdates and reconcile added, updated, and removed anchors.
  • Normalize anchor IDs to your own state model for reliable entity updates.

RealityKit Bridge

  • Use ARKitAnchorComponent to inspect backing ARKit data on entities when needed.
  • Treat ARKit streams as authoritative and keep rendering logic in RealityKit.

Implementation Patterns

  • Prefer one session per immersive experience and reuse providers when possible.
  • Normalize anchor IDs to your own state model for reliable entity updates.
  • Treat ARKit streams as authoritative and keep rendering logic in RealityKit.

Provider References

Provider When to Use
WorldTrackingProvider When tracking device position and orientation in 3D space.
HandTrackingProvider When tracking hand poses and gestures for interaction.
PlaneDetectionProvider When detecting horizontal and vertical surfaces (floors, walls, tables).
SceneReconstructionProvider When creating detailed 3D mesh reconstructions of the environment.
ImageTrackingProvider When tracking known 2D images in the environment.
ObjectTrackingProvider When tracking 3D objects in the environment.
RoomTrackingProvider When tracking room boundaries and room-scale experiences.
AccessoryTrackingProvider When tracking Apple Vision Pro accessories.
BarcodeDetectionProvider When detecting and reading barcodes in the environment.
CameraFrameProvider When accessing raw camera frames for custom processing.
CameraRegionProvider When accessing camera frames from specific regions.
EnvironmentLightEstimationProvider When estimating ambient lighting conditions.
SharedCoordinateSpaceProvider When sharing coordinate spaces across multiple sessions.
StereoPropertiesProvider When accessing stereo camera properties.

General ARKit Patterns

Reference When to Use
REFERENCE.md When implementing ARKit session setup, authorization, and general provider patterns.

Pitfalls and Checks

  • In SwiftUI-first visionOS apps, prefer RealityView for presentation and ARKitSession for tracking data; use ARView only when you specifically need its UIKit/AppKit-style view APIs.
  • Do not assume every ARKit provider has the same presentation requirements; check the provider-specific guidance before choosing Shared Space, a volumetric window, or an immersive space.
  • Do not block the main actor while awaiting provider updates.
  • Do not drop session references; ARKit stops sessions on deinit.
Usage Guidance
This skill is documentation and example code for ARKit on visionOS and appears internally consistent. Consider the following before using it in a project: 1) The examples request runtime camera/hand/world-sensing authorizations — ensure you present clear privacy notices (Info.plist keys) and handle denied states. 2) Some providers require entitlements or enterprise licensing (noted in the docs); verify you have those before enabling them. 3) Because this is instruction-only, no code will be executed by installing the skill, but when copying examples into your app audit any added networking or persistence you introduce and avoid sending raw sensor frames or sensitive anchors off-device unless you have explicit consent and secure transport. 4) If you need higher assurance, review the examples in your development environment and test permission flows on-device.
Capability Analysis
Type: OpenClaw Skill Name: arkit-visionos-developer Version: 0.1.0 The skill bundle is a comprehensive developer resource for building ARKit applications on visionOS. It contains standard Swift code patterns and documentation for managing ARKitSession, handling privacy authorizations, and implementing various data providers like HandTrackingProvider and PlaneDetectionProvider. No evidence of malicious intent, data exfiltration, or harmful prompt injection was found; the content is entirely consistent with its stated purpose of assisting visionOS developers.
Capability Assessment
Purpose & Capability
The name/description match the contents: provider-specific guidance, ARKitSession lifecycle, authorization, anchor handling, and RealityKit bridging. Nothing requested (no env vars, binaries, or installs) is out of scope for an authoring/debugging guide.
Instruction Scope
SKILL.md and the reference files contain only implementation guidance and local code examples. Instructions reference adding Info.plist keys and requesting runtime authorizations (expected for camera/hand/world sensing). There are no instructions to read unrelated system files, exfiltrate data, or contact external endpoints.
Install Mechanism
No install spec and no code files to execute — instruction-only skill; therefore no installation risk or downloads are present.
Credentials
The skill declares no required environment variables, credentials, or config paths. The runtime advice to request user authorizations for camera/hand/world sensing is appropriate and proportional to the ARKit functionality described.
Persistence & Privilege
always:false (default) and no install actions writing persistent configuration. The skill does not request persistent or system-wide privileges.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install arkit-visionos-developer
  3. After installation, invoke the skill by name or use /arkit-visionos-developer
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.1.0
Initial release of arkit-visionos-developer - Guides setup and management of ARKitSession for visionOS. - Explains handling of provider-specific authorization and privacy. - Details usage and configuration of ARKit data providers (world tracking, hand tracking, plane detection, scene reconstruction, etc.). - Provides best practices for bridging ARKit anchor data into RealityKit entities. - Covers session lifecycle management and common pitfalls. - Includes quick start steps, implementation patterns, and reference tables for providers.
Metadata
Slug arkit-visionos-developer
Version 0.1.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Arkit Visionos Developer?

Build and debug ARKit features for visionOS, including ARKitSession setup, authorization, data providers (world tracking, plane detection, scene reconstructi... It is an AI Agent Skill for Claude Code / OpenClaw, with 143 downloads so far.

How do I install Arkit Visionos Developer?

Run "/install arkit-visionos-developer" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Arkit Visionos Developer free?

Yes, Arkit Visionos Developer is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Arkit Visionos Developer support?

Arkit Visionos Developer is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Arkit Visionos Developer?

It is built and maintained by Tom Krikorian (@tomkrikorian); the current version is v0.1.0.

💬 Comments