Design and implement visionOS SwiftUI scenes that integrate RealityKit content...
spatial-app-architecture first.Chart3D, SurfacePlot, 3D chart marks, or
Chart3DPose, switch to $swiftui-chart3d-developer.Model3D for simple asset display, RealityView
for custom entity graphs and attachments.build-run-debug.| Reference | When to Use |
|---|---|
swiftui-spatial-overview.md |
When you need the general feature map, examples, and routing guidance for this skill. |
model3d.md |
When using Model3D for async model loading, assets, animation, or manipulation. |
realityview.md |
When setting up RealityView, attachments, or RealityKit integration patterns. |
interaction.md |
When implementing gestures or manipulation patterns for spatial input. |
buttons-and-controls.md |
When implementing visible SwiftUI buttons, links styled as buttons, toolbars, forms, or control surfaces. |
swiftui-scene-lifecycle.md |
When checking official Window, WindowGroup, ImmersiveSpace, open/dismiss, restoration, and launch contracts. |
windowing-immersion.md |
When managing windows, volumetric surfaces, or immersive space transitions. |
spatial-layout.md |
When using SwiftUI spatial layout APIs, sizing, or debug tools. |
Model3D, RealityView, window, volume, or
immersive scene..buttonBorderShape(...) (.capsule
for labeled actions, .circle for icon-only,
.roundedRectangle(radius:) matching the background for card-like
buttons - on visionOS this is also what shapes the button's hover
highlight). Non-button hover surfaces pair .hoverEffect() with a matching
.contentShape(.hoverEffect, ...). Load
buttons-and-controls.md before
writing any control code - this applies even when buttons are incidental to
a larger task.RealityView make or update closures or in a
system, not in SwiftUI body code.Model3D only when you need simple display and layout, not a custom ECS graph.ImmersiveSpace as a separate scene with its own lifecycle and environment actions.defaultSize as an initial hint only; the system can clamp or restore geometry.$swiftui-chart3d-developer for Chart3D and spatial data visualization.build-run-debug when the question is about launch, build,
simulator, codesign, or debugging workflow.spatial-app-architecture when the question is about scene boundaries,
ownership, or feature decomposition rather than API usage.inputKinds:
filtering (see interaction.md) plus cross-platform toolbar and navigation
refinements that also apply on visionOS.Provide:
Model3D, RealityView, windowing, interaction,
or layout)