Web-native game engine

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.

Play the Fly Race showcase →

Fly Race

A playable game shipped on Threenity and exported as a static web build — physics, controllers, HUD, and audio all from engine packs. It runs entirely in your browser.

Play now

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.

# Install via npm Coming soon — package not published yet

When it lands, the install command and the current version will live here as the single source of truth.

In the meantime:
  • Play the showcase game to see the engine running.
  • Documentation — Coming soon
  • Source on GitHub — Coming soon