3D games in the browser

Three web-native engines, one playable demo each, built from real imported assets (photoscanned PBR models, HDRI lighting). Open the demos on a desktop browser with a GPU.

Demos

three.js demo

three.js

Glade — third-person exploration, collect crystals
Play
Babylon.js demo

Babylon.js

Cannon Cove — Havok physics cannon game
Play
PlayCanvas demo

PlayCanvas

Lantern Cove — night cove with 40+ dynamic lights
Play

Options

1. three.js

Rendering library, MIT. The de-facto standard of 3D on the web; optional React layer (React Three Fiber).

Pros

  • Largest ecosystem, examples and hiring pool by far
  • Small core, tree-shakable; fastest first load of the three
  • Full control over rendering; WebGPU renderer with node shaders (TSL), WebGL 2 fallback
  • Excellent glTF support, every asset tool exports for it

Cons

  • Not an engine: physics, audio, input, UI, scene/state, asset streaming are yours to pick and glue (Rapier, etc.)
  • No editor: level design happens in Blender or a custom tool
  • Monthly releases break APIs; no long-term support

Fits: web-first, custom-looking games and experiences with a strong JS team that is happy to own its engine layer.

2. Babylon.js

Full game engine, Apache 2.0, backed by Microsoft. TypeScript-first.

Pros

  • Batteries included: Havok physics, audio, GUI, particles, XR, animation retargeting, Gaussian splats
  • Live Inspector, Node Material/Particle editors, Playground — strong debugging and tooling
  • Backward-compatibility policy: upgrades rarely break code
  • Mature WebGPU backend; reference-grade glTF loader (incl. KTX2, Draco, Meshopt)

Cons

  • Heavier bundle than three.js; tree-shaking needs discipline
  • No first-class scene editor (community Babylon Editor exists)
  • Smaller community than three.js

Fits: real games with physics and gameplay systems, built code-first by a dev team that wants an engine, not a library.

3. PlayCanvas

Engine (MIT) + collaborative cloud Editor (SaaS). Mobile-oriented.

Pros

  • The only one with a real visual editor in the browser: artists and designers build levels together, live
  • Editor imports FBX/glTF directly and compresses textures (Basis/KTX2) on upload
  • Lean runtime tuned for mobile; clustered lighting; leader in Gaussian Splatting
  • Entity–component model familiar to Unity developers

Cons

  • Editor is a hosted service: private projects and teams are paid; vendor dependency
  • Used code-only (as in this demo), it loses its main advantage over the other two
  • Smallest community and fewest third-party examples

Fits: teams where artists/designers assemble content, mobile-heavy audiences, playables and ads.

Not recommended for browser-first

EngineWhy not
Unity (Web build)Best editor and asset store, WebGPU is production in 6.6 — but even an empty 3D build is ~10 MB compressed, long startup, heavy memory on mobile browsers. Choose it only if the game also ships native or the team is Unity-only.
Godot 4 (Web export)Web uses only the reduced Compatibility (WebGL 2) renderer; C# web export is still experimental. Fine for stylised games, weak for “graphics quality”.
Unreal EngineNo official web export since 4.24; only pixel streaming (rendered on a server GPU, paid per user-hour).

Importing marketplace assets (Fab and others)

Fab's Standard License allows use in any engine, including Megascans. Listings export as FBX, glTF/GLB or USD. All three engines read glTF natively, so the pipeline is the same for all of them:

Fab / Sketchfab / Poly Haven→ FBX / OBJ / USD→ Blender or FBX2glTF → glTF / GLB→ gltf-transform → Meshopt/Draco + KTX2/WebP→ engine

Recommendation

Babylon.js for a game built by developers: the most complete engine with the least glue code and stable upgrades. PlayCanvas if artists/designers must build levels themselves — its editor is the deciding feature. three.js if the product is closer to a custom web experience than to a game, or minimal load size matters most.