RealityKit & ARP Extensions
OpenUSD is a massive, flexible standard. To make it work for spatial computing on visionOS and iOS, Apple uses a set of extensions known as the Preliminary Anchoring & Behavior API (often referred to as ARP) and the RealityKit Namespace.
Preflight identifies these specialized features using a distinct Origin Taxonomy.
The Origin Taxonomy
Section titled “The Origin Taxonomy”Throughout the RealityKit Extensions module, you will see Origin Badges. These tell you where the feature comes from and how portable it is:
- [core] Core USD: Standard, vendor-neutral features (e.g., standard Meshes, Xforms, Materials).
- [preliminary] Preliminary AR: Apple’s draft extensions for AR (Anchors, Behaviors, 3D Text). These are technically “Preliminary” but are widely used across the Apple ecosystem.
- [realitykit] RealityKit: Proprietary features specifically authored in Reality Composer Pro (Timelines, Components, Custom Behaviors). These generally only work within Apple’s runtimes.
Supported Extensions
Section titled “Supported Extensions”1. Timelines (RealityKit)
Section titled “1. Timelines (RealityKit)”Declarative animation sequences that orchestrate multiple property changes over time.
- Track Identification: Preflight shows exactly which tracks are active.
- Action Kinds: Lists the types of animation actions (e.g., Spin, Move, Audio, Preset).
2. Behaviors (Preliminary)
Section titled “2. Behaviors (Preliminary)”Interaction logic consisting of Triggers and Actions.
- Triggers: Detects events like
Tap,SceneTransition,Proximity. - Actions: Shows what happens in response, such as
PlayTimeline,Show,Hide.
3. Anchoring (Preliminary)
Section titled “3. Anchoring (Preliminary)”Definitions for how an object should attach to the real world.
- Target Types:
Plane,Image,Face,Object. - Alignment:
Horizontal,Vertical, orAny.
4. Logic & Components (RealityKit)
Section titled “4. Logic & Components (RealityKit)”RealityKit uses an Entity Component System (ECS).
- Components: Preflight lists custom data containers (like
RCP_BehaviorsContainer) attached to prims. - Text Prims: Identifies specialized 3D Text geometry that uses the RealityKit rendering path instead of standard polygons.
Why This Matters
Section titled “Why This Matters”Reality Composer Pro (RCP) often hides the complexity of these extensions. However, if a behavior doesn’t trigger or a timeline doesn’t play in your visionOS app, the bug is often in the underlying USD schema. Preflight makes these hidden structures visible, allowing you to debug the connection between your interaction logic and your 3D geometry.