Compare

Three.js, but better for an agent

ThreeNative keeps the Three.js programming model an agent already knows, then adds the engine work plain Three.js leaves to you: a game loop, input, physics, deterministic playtests, performance budgets and native targets.

The floor is vanilla Three.js

ctx.scene is a real THREE.Scene and ctx.renderer is a real WebGPURenderer. There is no serialized scene format and no editor-owned state. When the framework blocks you, write plain Three.js, so the worst case is the workflow the agent already knows.

Less plumbing to reinvent

Plain Three.js makes an agent rebuild renderer setup, resize handling, the loop, fixed timesteps, input, physics, HUD sync, touch, gamepad, pause, test hooks and packaging. In the charter's audit of a vanilla game, about 42% of its roughly 400 lines was identical plumbing.

Search the framework, then write TypeScript

The engine MCP server is read-oriented. An agent asks it what the framework already provides, then writes ordinary code. Unreal's MCP drives a stateful editor instead: mutate an asset, query it, compile, inspect.

The agent can play what it built

Playtest scenarios press keys, wait ticks and assert on game state, transforms, cameras, HUD, console errors, screenshots, triangles and draw calls. They fail closed, so a feature is checked by running the game, not by reading the diff.

Measured

Developer experience with an agent

These ratings are an assessment of how it feels to build with Claude or Codex, not a benchmark. The measured numbers are below, each with its source.

CapabilityThree.jsThreeNativeUnreal + MCP
Authoring loop
Ordinary TS/JS editing★★★★★★★★★★★★★★★
Claude already knows the API★★★★★★★★★★★★★★★
Direct Three.js access★★★★★★★★★★N/A
Changes are plain text and git diffs★★★★★★★★★★★★★★★
Vite dev loop★★★★★★★★★★N/A
Hot browser iteration★★★★★★★★★★★★★★★
Agent can grep the whole game★★★★★★★★★★★★★★★
No editor state to manipulate★★★★★★★★★★★★★★★
Verification
Deterministic automated gameplay tests★★★★★★★★★★★★★★★
Semantic scene inspection★★★★★★★★★★★★★★★
Performance assertions★★★★★★★★★★★★★★★
Visual verification★★★★★★★★★★★★★★★
Engine systems
Input abstraction★★★★★★★★★★★★★★★
Physics integration★★★★★★★★★★★★★★★
Asset pipeline★★★★★★★★★★★★★★★
AAA engine tooling depth★★★★★★★★½★★★★★★
Targets
Browser★★★★★★★★★★★★★★★
Native desktop★★★★★★★★★★★★★★★
Android★★★★★★★★★★★★★★★
One source across targetsBrowser onlyYesMostly native Unreal
Working with an agent
Capability discovery★★★★★★★★★★★★★★★
AI-specific project instructionsManualBuilt inUsually custom
Token efficiency★★★★★★★★★★★★★★★
Autonomous feature implementation★★★★★★★★★★★★★★★
Recovery when the agent gets it wrong★★★★★★★★★★★★★★★
Parallel agents★★★★★★★★★★★★★★★
Agent-friendly architecture overall★★★★★★★★★★★★★½★

Browser-only libraries, codecs and DOM access limit what runs natively, and native packaging and device validation take longer than refreshing Vite. Unreal still leads on the depth of its mature AAA subsystems. Read the current challenges.