# Fyrox — Feature-Rich 2D and 3D Game Engine in Rust > A general-purpose game engine written in Rust with a built-in scene editor, UI framework, and PBR rendering pipeline for building desktop and web games. ## Install Save in your project root: # Fyrox — Feature-Rich 2D and 3D Game Engine in Rust ## Quick Use ```bash # Install the project template tool cargo install fyrox-template # Create a new project fyrox-template init --name my_game --style 3d cd my_game # Run the editor cargo run --package editor --release ``` ## Introduction Fyrox is a general-purpose 2D and 3D game engine written entirely in Rust. It provides a scene editor (FyroxEd), a UI framework, PBR rendering, skeletal animation, physics integration, and sound — covering the full game development pipeline without requiring external tools. ## What Fyrox Does - Renders 3D scenes with PBR materials, deferred shading, and global illumination - Provides a visual scene editor (FyroxEd) for placing objects, tweaking materials, and scripting - Handles 2D and 3D physics through Rapier integration - Supports skeletal animation, animation blending, and state machines - Includes a built-in UI framework (fyrox-ui) for in-game interfaces and editor plugins ## Architecture Overview Fyrox uses a scene graph with nodes representing objects, cameras, lights, and terrain. The renderer is deferred with multiple passes for lighting, shadows, and post-processing. Game logic is attached to nodes via Rust scripts that implement the ScriptTrait. The engine compiles as a Rust crate, giving full access to Rust's type system and borrow checker during development. ## Self-Hosting & Configuration - Requires Rust toolchain (rustup) and a C++ compiler for native dependencies - Create projects with fyrox-template which scaffolds game, editor, and executor crates - Configure rendering, physics, and audio in the editor or via code - Assets (models, textures, sounds) are managed through the editor's asset browser - Export builds for Windows, Linux, macOS, and WebAssembly ## Key Features - Full scene editor with gizmos, material editor, and animation graph - Rust's memory safety eliminates entire classes of crashes and undefined behavior - Built-in navmesh generation and pathfinding for AI navigation - Terrain system with multi-layer texturing and vegetation painting - Hot-reloading of scripts during editor sessions speeds up iteration ## Comparison with Similar Tools - **Bevy** — Rust ECS engine without a built-in editor; Fyrox ships a full visual editor - **Godot** — GDScript/C# engine; Fyrox uses Rust and benefits from its safety guarantees - **Unreal Engine** — Proprietary C++ engine; Fyrox is MIT-licensed and Rust-native - **O3DE** — Heavier AAA-oriented engine; Fyrox is lighter and more approachable for indie teams - **Macroquad** — Minimal Rust 2D library; Fyrox is a full engine with 3D, physics, and an editor ## FAQ **Q: Is Fyrox ready for production games?** A: The engine is usable for indie and mid-scale projects. Several community games have been built with it, though the ecosystem is smaller than Godot or Unity. **Q: Can I use Fyrox for 2D games?** A: Yes. Fyrox supports 2D rendering, sprite sheets, and 2D physics alongside its 3D capabilities. **Q: How does the editor compare to Godot or Unity?** A: FyroxEd provides scene editing, material configuration, animation graphs, and terrain tools. It is functional but less mature in terms of plugin ecosystem. **Q: Does Fyrox support WebAssembly?** A: Yes. Games can be compiled to WASM and run in the browser, though some features like multithreading have limitations on the web. ## Sources - https://github.com/FyroxEngine/Fyrox - https://fyrox-book.github.io/ --- Source: https://tokrepo.com/en/workflows/asset-8f831cdf Author: AI Open Source