@iwsdk/core
v0.4.2
Published
Javascript WebXR Runtime for Emulation
Downloads
2,338
Readme
The Immersive Web SDK is a complete framework for building WebXR applications. Built on Three.js with a high-performance Entity Component System, it provides production-ready systems for grab interactions, locomotion, spatial audio, physics, and scene understanding.
Same code, two experiences: Run immersively in VR/AR headsets and automatically provide mouse-and-keyboard emulation on desktop browsers—no VR hardware required to develop.
Quick Start
The fastest way to get started is with the project scaffolding CLI:
npm create @iwsdk@latestThis will guide you through creating a new project with all the recommended tooling pre-configured.
Manual Installation
npm install @iwsdk/core threeBasic Example
import { World, OneHandGrabbable } from '@iwsdk/core';
import { BoxGeometry, Mesh, MeshStandardMaterial } from 'three';
// Create an immersive world
const world = await World.create(document.getElementById('app'), {
features: {
grabbing: true,
locomotion: true,
},
});
// Create a grabbable cube
const geometry = new BoxGeometry(0.5, 0.5, 0.5);
const material = new MeshStandardMaterial({ color: 0x00ff00 });
const mesh = new Mesh(geometry, material);
const cube = world.createTransformEntity(mesh);
cube.addComponent(OneHandGrabbable, { rotate: true, translate: true });Features
- 🎮 Entity Component System - High-performance ECS architecture built on elics
- 🖐️ Grab Interactions - One-hand, two-hand, and distance grabbing out of the box
- 🚶 Locomotion - Teleportation, smooth locomotion, and snap turning
- 🎨 Spatial UI - Build 3D interfaces with HTML-like syntax via uikit
- 🔊 Spatial Audio - Positional audio with automatic listener management
- ⚡ Physics Integration - Havok physics engine support
- 🏠 Scene Understanding - AR plane detection, mesh detection, and hit testing
- 🖥️ Desktop Emulation - Develop without VR hardware using built-in keyboard/mouse controls
Vite Plugins
For the best development experience, use our Vite plugins:
npm install -D @iwsdk/vite-plugin-dev @iwsdk/vite-plugin-gltf-optimizer @iwsdk/vite-plugin-uikitml| Plugin | Description |
| ----------------------------------- | ----------------------------------------------- |
| @iwsdk/vite-plugin-dev | XR emulation, AI agent tooling, and dev browser |
| @iwsdk/vite-plugin-gltf-optimizer | GLTF/GLB optimization during build |
| @iwsdk/vite-plugin-uikitml | Compile HTML-like UI templates to spatial UI |
| @iwsdk/vite-plugin-metaspatial | Meta Spatial Editor integration |
Documentation
For guides, concepts, and API reference, visit:
Requirements
- Node.js 20.19.0 or higher
- A modern browser with WebXR support (for immersive mode)
License
MIT © Meta Platforms, Inc.
