A Unity-style component engine for the web, on pure Three.js.
GameObject, Component, and scene graph — the productivity you know from Unity, running in the browser with no install.
What it is
The engine adds the productivity layer Three.js leaves out.
Three.js gives you the renderer. Threenity adds the part you'd otherwise
rebuild on every project: a GameObject + Component + scene-graph model
(not ECS), an in-browser editor, physics, Zod-validated
scene serialization, and an asset pipeline. You write
behavior as Component subclasses with inspector-driven schemas; scenes and
prefabs are versioned JSON. Engine capability ships as composable packs,
so a game pulls in only what it needs.
Key features
Real subsystems, already in the engine.
Each is its own pack — drop in what your game needs, leave the rest out.
Scene graph + components
GameObject + Component runtime on Three.js. Behavior is Component subclasses with lifecycle hooks (onStart, onUpdate, fixed-timestep fixedUpdate) and a typed event bus.
In-browser editor
A full editor — Hierarchy, Inspector, and Scene view — runs in the browser. Schema-driven inspectors are generated from each component's field definitions.
Physics
Rapier3D (WASM): rigidbodies, box / sphere / capsule / mesh colliders, a kinematic character controller, and physics raycasts — opt-in per scene.
Scenes + asset pipeline
Scenes and prefabs are Zod-validated JSON, merge-friendly on disk, and migrated forward on load. Models, textures, and audio resolve through a manifest.
Pack ecosystem
Capabilities ship as packs: UI / HUD, world-space text, audio & mixer, player & camera controllers, input & rebinding, particles & trails, trigger zones, save / load, and more.
Browser-first, no install
Designed to run in the browser — Unity-style productivity without leaving the web. Author locally, preview instantly, ship a static build.
See it
A real game, built on the engine.
Get started
Setup is on the way.
The engine is a pnpm + TypeScript monorepo. A public package and a one-command install are coming soon — for now, the fastest way to see it is to play the showcase.
When it lands, the install command and the current version will live here as the single source of truth.
- Play the showcase game to see the engine running.
- Documentation — Coming soon
- Source on GitHub — Coming soon