IWSDK Concepts
Updated: Sep 4, 2026
IWSDK combines an entity-component-system (ECS) runtime with Three.js, WebXR input, interaction systems, native scene files, and spatial UI.
Use these concept pages to understand how the parts fit together before you customize a starter project.
Native scene and assets
↓
World and ECS systems
↓
Three.js scene, input, interaction, and rendering
The World owns entities, components, systems, and live queries. Transform entities connect ECS data to Three.js objects through synchronized position, orientation, and scale values.
Start with
ECS 101, then use the focused pages for components, systems, queries, lifecycle, and common patterns.
IWSDK exports the Three.js classes used by the runtime. You can create geometry, materials, and object hierarchies with Three.js while IWSDK manages the render loop and ECS integration.
The input stack provides controller and hand visuals, action mappings, stateful gamepad access, and ray, grab, and touch pointers.
Grabbing adds one-hand, two-hand, and distance manipulation. Locomotion provides slide, teleport, and turn behavior through one parent locomotion system.
UIKit renders three-dimensional interface elements. UIKitML provides strict HTML- and CSS-like authoring. IWSDK loads .uikitml source files at runtime and exposes the result as a UIKitMLAsset with DOM-like query helpers.
IWSDK loads native .iwsdk.scene.json or .scene.json files. Scene files place assets and components, while application code implements procedural behavior and systems.