Ambient is an open-source, cross-platform runtime and engine for building and deploying high-performance multiplayer games and 3D applications, using a modern stack built on Rust, WebAssembly (WASM), and WebGPU. It aims to make multiplayer game development accessible and flexible, providing an entity-component-system (ECS) at its core that doubles as a real-time in-game database; everything in the game — from world objects to runtime data — is represented as entities + components, which can be synchronized across clients automatically. Ambient supports a package-based workflow reminiscent of Rust’s crate system, where “packages” bundle code, assets, and schema definitions; this modular design encourages reuse, mixing, and sharing of content. The engine includes an asset pipeline that can stream and load common 3D formats (e.g. GLB, FBX) on demand, so players don’t need to pre-download large asset bundles — the engine handles asset streaming.
Features
- Entity-Component-System (ECS) core acting as a real-time synchronized database for all game data
- Cross-platform support: desktop and web (via WASM + WebGPU) builds from the same codebase
- Package-based modular workflow: code, assets and schema bundled as packages for reuse and mixing
- Asset streaming and pipeline that handles common 3D formats (e.g. GLB / FBX), streamed to clients on join
- Modern GPU-driven rendering: PBR, instancing, culling, LOD switching using WebGPU backend
- Built-in networking and synchronization: server/client runtime handles multiplayer logic and data sync