What problem does it solve? Displaying 3D models in visionOS requires choosing between SwiftUI's Model3D and RealityKit's RealityView, handling asynchronous USDZ loading, normalizing unpredictable model scale, and wiring up interaction components—mistakes in any of these cause invisible models, frozen UIs, or gestures that silently fail. ## Core Features & Use Cases - API Selection Guidance: A decision tree for choosing Model3D, RealityView, Reality Composer Pro bundles, or runtime USDZ loading based on scene complexity and interaction needs. - Entity Component System Patterns: Concrete Swift code for transforms, materials, collision shapes, InputTargetComponent, custom components, and systems in meters-based coordinate space. - Robust Async Loading: Patterns for loading USDZ from bundle, disk, or network with scale-to-fit helpers and explicit loading/failure UI states. - Use Case: Build a 3D model viewer that downloads a generated USDZ file, scales it to fit a 0.5-meter volume, centers it, and lets users tap and rotate it with spatial gestures. ## Quick Start Use the realitykit-entities skill to load a USDZ model into a RealityView, scale it to fit half a meter, and add tap gesture interaction with loading and error states.