Threenity / Unity-style engine for the web

Unity habits, web-native engine

If you think in GameObjects, components, prefabs, and an Inspector, you don't need to unlearn any of it to build for the browser. Threenity is a web-native engine that keeps the Unity mental model — in TypeScript, on Three.js, running as ordinary JavaScript in the page rather than a Wasm blob.

Your mental model, mapped one-to-one

This table is the heart of the pitch. Every core Unity concept has a direct Threenity counterpart — the familiar workflow survives the migration:

UnityThreenity
GameObjectA Three.js Object3D in the scene graph
TransformObject3D.position / .quaternion / .scale
MonoBehaviourclass X extends ComponentonStartonUpdate(ctx, dt)onDestroy
MeshRendererMeshRenderer component (core pack)
CameraCamera component — Unity's +Z-forward convention included
Scene (.unity)Open, versioned .scene.json — validated and merge-friendly
PrefabPrefab JSON + world.spawn(prefab, parent?), with per-instance overrides
Material / Shader.mat.json assets resolved through a material cache
Layers / TagsLayers and tags per object; physics collision matrix per scene
Inspector / HierarchyThe same panels, in the Threenity editor

C# vs TypeScript: the honest trade

You trade C# for TypeScript — strictly typed, modern, and arguably closer to the platform you're shipping to. A behavior is a class with lifecycle methods and schema-declared fields that appear in the Inspector, exactly the shape a MonoBehaviour occupies in your head. What you give up: Unity's asset store and two decades of tooling maturity. What you gain: your game is a web project — npm, Vite, hot reload, version control over readable JSON scenes instead of opaque binaries.

Web-native, not web-exported

An exported engine compiles its runtime through IL2CPP and Emscripten into a large Wasm heap the browser must download and boot before the first frame. A web-native engine is JavaScript: the renderer is Three.js, the payload is your code plus only the engine packs you enabled, and startup time is a page load. That also means mobile browsers are a first-class target, not a compatibility footnote. (Unity remains the right tool for many targets — this page is about building for the web, where being native to the platform pays compound interest in build size and iteration speed.)

The parts of Unity you'd actually miss

  • Visual editor — Hierarchy, Inspector, Scene view, gizmos, undo/redo: the Threenity editor.
  • Physics — rigidbodies, colliders, and a kinematic character controller via the Rapier pack.
  • Prefabs — reusable object templates with per-instance overrides.
  • Component ecosystem — UI, audio, input rebinding, character controllers, VFX, save/load, shipped as opt-in packs.

Where to go next

Threenity is in pre-release — the editor ships to waitlist members first.

Join the waitlist