Immersive Web SDK
Updated: Sep 4, 2026
The Immersive Web SDK (IWSDK) is a framework for WebXR and browser-based 3D apps. It combines Three.js rendering with an Entity Component System (ECS). It also includes project tools, browser emulation, and common runtime systems.
IWSDK builds on WebXR and Three.js. You can use standard Three.js objects and math. IWSDK manages app structure, XR input, lifecycle, and optional features.
You need:
- JavaScript or TypeScript experience.
- Basic browser development skills.
- Node.js and npm.
- A current web browser.
You do not need a headset for initial development. The included IWER emulator runs in a desktop browser.
A generated app stores its project settings in iwsdk.config.json. The Vite plugin exposes those settings through virtual:iwsdk-project:
import { World } from '@iwsdk/core';
import projectOptions from 'virtual:iwsdk-project';
import { PanelSystem } from './panel.js';
import { RobotSystem } from './robot.js';
World.create(
document.getElementById('scene-container') as HTMLDivElement,
projectOptions,
).then((world) => {
world.registerSystem(RobotSystem);
world.registerSystem(PanelSystem);
});
The project manifest selects the active native scene. It also selects the asset and component modules. JavaScript or TypeScript remains the home for systems and other behavior.
IWSDK includes:
- An ECS runtime for entities, components, systems, queries, and lifecycle.
- XR and browser input.
- Locomotion and grabbing.
- Spatial audio and Havok physics.
- Scene understanding and environment raycasts.
- UIKitML spatial interfaces.
- A managed browser, XR emulation, a native scene editor, and command-line tools.
Enable only the systems that your app needs.
You can build with IWER on a desktop browser. You can then open the same HTTPS development URL on a headset. A browser-first project can disable XR and keep the same ECS and Three.js foundations.