Fyrox
A feature-rich, easy-to-use 2D and 3D game engine written in Rust, with a full scene editor - like Godot, but in Rust.
Repository Health
Technical Analysis
Fyrox is a general-purpose 2D and 3D game engine written entirely in Rust. It aims to be a complete, batteries-included solution for building games, shipping not just an engine runtime but a full scene editor, a scene graph, a rendering pipeline, physics, animation, a GUI system, and a Rust scripting workflow. Its stated goal is to offer a Godot-like experience while keeping everything in safe, fast Rust.
The fyrox crate is the umbrella package developers depend on; it re-exports the engine implementation (fyrox-impl) and ties together the workspace’s many subsystems - core math, graph, graphics, sound, UI, animation, resources, and materials. Alongside the library, the project provides a project manager and editor so you can author scenes visually and drive game logic with Rust scripts.
What You Get
- A complete 2D/3D rendering engine with a scene graph and prefab system
- A standalone scene editor and project manager for visual authoring
- Physics, animation, sound, and a retained-mode GUI subsystem
- A Rust scripting system for attaching behavior to scene nodes
- An asset/resource pipeline and cross-platform targets including WebAssembly
Common Use Cases
- Building 2D or 3D games entirely in Rust with an editor-driven workflow
- Prototyping game scenes visually and wiring behavior with Rust scripts
- Shipping cross-platform games, including to the web via WebAssembly
- Reusing individual subsystems (UI, sound, math) from the Fyrox workspace
Under The Hood
Architecture - Fyrox is a large Cargo workspace. The public fyrox crate (fyrox/src/lib.rs) is a thin umbrella that, by default, re-exports fyrox-impl - the real engine - and can instead pull fyrox-dylib for a hot-reloadable dynamic build. The engine is decomposed into focused crates: fyrox-core (+-derive), fyrox-math, fyrox-graph (the scene graph), fyrox-graphics with a -gl OpenGL backend, fyrox-resource, fyrox-material, fyrox-texture, fyrox-animation, fyrox-sound, and fyrox-ui. Separate editor, project-manager, and template crates build the tooling around the runtime, as documented in ARCHITECTURE.md.
Tech Stack - Pure Rust (edition 2021, rust-version 1.94 for the engine crate) with a resolver-2 workspace and tuned release/editor/project-manager build profiles. Rendering goes through the graphics abstraction to an OpenGL backend, and the engine targets desktop plus WebAssembly.
Code Quality - The project is mature and very actively developed (thousands of commits, ~98 contributors led by the core author), with a CHANGELOG, CONTRIBUTING guide, and a dedicated ARCHITECTURE document. The strict crate separation keeps subsystem boundaries clear and lets consumers depend on only what they need.
API Design - Developers depend on the single fyrox crate and work through scenes, nodes, and Rust scripts, mirroring editor-based engines like Godot. The breadth of subsystems and the editor/scripting workflow make the engine powerful but give it a steeper learning curve than a single-purpose library; extensive docs on fyrox.rs and a book help onboarding.