1---2name: arkit-visionos-developer3description: Router for ARKit features on visionOS 27, including ARKitSession setup, authorization, provider selection, anchor processing, and RealityKit integration. Use when choosing an ARKit provider set, combining multiple ARKit providers, or troubleshooting shared ARKit lifecycle behavior before routing to focused provider skills.4---56# ARKit visionOS Developer78## Quick Start9101. If the task names a specific provider family, switch to the matching11 provider-focused skill below.122. If the task spans provider families, load the provider index plus shared13 session and anchor references first.143. Add only the usage strings, entitlements, and authorizations required by the15 providers you actually use.164. Keep anchor state in a model layer, and bridge into RealityKit only when you17 have a rendering target.185. If the issue is app launch, test flow, simulator behavior, or signing,19 switch to `build-run-debug` or `signing-entitlements`.2021## Provider-Focused Skills2223| Skill | When to Use |24|-------|-------------|25| `$arkit-spatial-tracking-providers` | World tracking, plane detection, scene reconstruction, room tracking, or shared coordinate spaces. |26| `$arkit-hand-tracking-provider` | Hand anchors, joint transforms, custom hand gestures, or hand visualizations. |27| `$arkit-reference-tracking-providers` | Known image tracking, object tracking, barcode detection, or accessory tracking. |28| `$arkit-camera-access-providers` | Camera frame streams or region-scoped camera content. |29| `$arkit-rendering-context-providers` | Environment lighting, stereo properties, device fit, or foveated field-of-view tuning. |3031## Load Shared References When3233| Reference | When to Use |34|-----------|-------------|35| [`references/provider-index.md`](references/provider-index.md) | When you need the provider map and routing guidance. |36| [`references/session-basics.md`](references/session-basics.md) | When setting up `ARKitSession`, authorization, or shared lifecycle rules. |37| [`references/anchor-processing.md`](references/anchor-processing.md) | When reconciling `anchorUpdates`, IDs, and model-layer state. |38| [`references/realitykit-bridge.md`](references/realitykit-bridge.md) | When ARKit data needs to become visible RealityKit scene content. |3940## Workflow41421. Choose the provider family or focused skill.432. Load the shared session and lifecycle guidance first.443. Add only the provider references that match the task.454. Keep anchor reconciliation in a model layer.465. Bridge into RealityKit only after the model layer has stable state.4748## Guardrails4950- Keep a strong reference to `ARKitSession` for the full lifetime of the51 experience.52- Request authorization before running providers that need it.53- Do not block the main actor while awaiting provider updates.54- Do not assume every provider has the same presentation, privacy, entitlement,55 or provisioning requirements.56- Route launch, build, simulator, and codesign problems out to the execution57 skills instead of expanding this skill with run-loop detail.5859## Output Expectations6061Provide:62- the provider-focused skill or provider set chosen63- which shared and provider references were used64- the session and anchor-processing model65- the RealityKit bridge plan if applicable66- the next skill to use if the blocker is execution, signing, or scene work