Three.js Game Engine for Single & Multiplayer
MavonEngine is a Three.js game engine built for real-time browser games — the only one with server-authoritative physics built in. Build single-player or multiplayer 3D games with a unified server-client architecture, integrated physics, and real-time networking.
import Server from '@mavonengine/core/Networking/Server/Server' import Player from './Base/Player' export default class GameServer extends Server<Player> { // A client connected: return its player, the server adds and syncs it protected onConnection(channel) { return new Player(channel.id) } // Inputs arrive in order and run on the authoritative tick protected onCommand(command) { const player = this.game.world.entities.items.get(command.playerId) player?.applyInput(command) } // Only sync entities within 200 units of each player getStateSyncDistance() { return 200 } }
Everything in one cohesive package
No more piecing together libraries. MavonEngine ships rendering, physics, networking, animation, particles, and debugging as a unified whole.
Full-Stack Multiplayer Architecture
Shared Entity System — write once, run on server and client. Automatic state synchronization with bandwidth optimization, distance-based culling for entity visibility, and hash-based change detection to minimize network traffic.
Integrated 3D Physics with Rapier
Kinematic character controller with slope climbing and sliding. Configurable parameters — 45° climb, 30° auto-slide. Full body & collider management and physics debug visualization in real-time.
Advanced 3D Rendering with Three.js
MavonEngine is a Three.js game engine at its core — giving you the full power of Three.js with custom GLSL shader support and debug rendering modes including wireframe, armature, and physics overlays.
Real-Time Multiplayer Networking
WebRTC-based communication for real-time data channels. Bandwidth tracking & monitoring, command buffering & processing across network latency, and server health monitoring with built-in HTTP endpoints.
Skeletal Animation System
Animation state management with logical organization. Smooth fade transitions with configurable duration, GLTF model support with Draco compression, and efficient skeleton cloning for instanced models.
Particle Effects Framework
Built-in effects — rain and smoke ready to use. Custom shader support for unique particle visuals.
Scenes Shared by Client & Server
One JSON scene file for both sides — the client builds what is rendered, the server builds colliders and game logic. Save in the editor and the server reloads the map for every connected player.
Engine Plugins
mavonengine install adds plugins with client, server and asset parts. Configure them in mavonengine.json; mavonengine build ships only the assets your game actually uses.
Gamepad Support
Xbox, PlayStation and generic controllers out of the box — radial deadzones, layout-aware button labels, analog triggers and rumble.
Live Server Monitoring
Tick time against the tick budget, CPU, bandwidth, players, logs and HTTP requests — in the terminal with mavonengine dashboard, or in the browser behind a login.
AI Assistant Support (MCP)
mavonengine mcp lets any AI coding assistant inspect your running game: server metrics, scenes and entities, renderer stats, console, screenshots and frame traces from the browser tab — and read these docs.
Latency Simulation
Test your netcode against artificial latency, jitter and packet loss before your players do.
Level Editor
Early WIP — a level editor that boots inside the running game and stays connected to the server. Edit the scene, press Ctrl+S, and the server reloads the map for every player. Dock your own tools as custom panels.
Live Server Monitoring
Watch your game server while it runs: tick time against the tick budget, CPU, bandwidth, world and physics stats, connected players, logs and HTTP requests. In the terminal with mavonengine dashboard, or in the browser with the @mavonengine/http-monitoring plugin.

Prefabs
Drop in ready-to-use prefabs built by the community — from environment assets to gameplay elements. Pull any prefab directly into the editor, tweak it, and ship. Anyone can publish prefabs to the community registry.
Grass — Lush, performant grass fields with wind simulation and LOD support. Drop it into your scene and configure density, sway, and color in seconds.
Water — Basic water shader. 3 LOD + Basic customizations — ready to use out of the box.
Built different
Most multiplayer browser games are held together with duct tape. MavonEngine is a Three.js game engine designed from the ground up as a unified system — so everything works together out of the box.
Complete Solution
Rendering, physics, networking, entity management, asset loading, animation, particles, and debugging tools in one cohesive package.
Server + Client Unity
Write game logic once and it works on both server and client. The shared entity system eliminates duplication and drift. The server runs a simplified hitbox scene alongside the client's full Three.js world — enabling authoritative hit detection, raycasting, and spatial queries without trusting the client.
Networking Built In
Distance-based culling, hash-based change detection, bandwidth monitoring, and automatic state synchronization — all built in, none bolted on.
Developer Experience
One command to create and run a project, a live server dashboard, Tweakpane debug panels, physics overlays, MCP support for AI assistants, and comprehensive TypeScript types. Catch bugs fast, ship faster.
Extensible Architecture
Abstract base classes let you customize servers, entities, and game logic without fighting the framework. Engine plugins add client, server and editor features as npm packages. Designed to grow with your project.
What can you build?
MavonEngine is a Three.js game engine purpose-built for browser games — single-player or multiplayer. Anything that needs players, physics, and a world in the browser.
Action RPGs
PvP Combat Games
Open World Multiplayer
Physics-Based Games
Single-Player 3D Games
Frequently Asked Questions
A Three.js game engine builds on top of Three.js's rendering to add the systems every game needs — physics, networking, entity management, animations, and tooling. Instead of wiring together separate libraries yourself, a game engine gives you all of that integrated and working together. MavonEngine is a Three.js game engine built specifically for browser games, with server-authoritative physics and multiplayer networking built in from the start.
Three.js is a rendering library — it draws 3D scenes in the browser. A Three.js game engine like MavonEngine adds everything else: an entity system, state machines, physics simulation, real-time multiplayer networking, asset loading, animations, particles, and a level editor. You write less boilerplate and focus on game logic instead.
Yes, but Three.js alone has no networking or physics — you have to integrate them yourself. MavonEngine solves this by running Rapier3D physics on the server alongside the client's Three.js scene, with WebRTC-based state synchronization built in. It handles the hard parts of multiplayer so you can focus on gameplay.
MavonEngine is the only Three.js game engine purpose-built for multiplayer browser games. It runs a server-authoritative physics simulation in parallel with the client's Three.js world, giving you accurate hit detection, anti-cheat, and real-time state sync without building it from scratch.
MavonEngine includes Rapier3D physics on both the server and client. The server runs the authoritative simulation — collision, hit detection, spatial queries — while the client uses physics for visual feedback. This split prevents cheating and keeps gameplay consistent across all players.
Yes. MavonEngine is free and open source. It includes rendering, physics, multiplayer networking, entity management, animations, particles, and a level editor — all at no cost.
The fastest way is to scaffold a project with npx @mavonengine/cli create my-game. This sets up a working Three.js game engine project with physics and multiplayer support in under a minute. Follow the Getting Started guide to go from zero to a running game.