explaingit

fyroxengine/fyrox

9,345RustAudience · developerComplexity · 4/5LicenseSetup · moderate

TLDR

Fyrox is a production-ready game engine for making 2D and 3D games in Rust, with a built-in visual scene editor. It handles graphics, sound, physics, and player input so you focus on game logic.

Mindmap

mindmap
  root((Fyrox))
    What it does
      2D and 3D games
      Visual scene editor
      Physics and sound
    Tech Stack
      Rust
      WebAssembly
    Use Cases
      Game development
      Web game demos
      Learning Rust gamedev
    Getting Started
      Official book
      Discord community
      GitHub Discussions
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Build a complete 2D or 3D game in Rust without writing your own rendering or physics system from scratch.

USE CASE 2

Use the visual scene editor to lay out game levels and configure objects without writing code for every detail.

USE CASE 3

Deploy a web browser demo of your Rust game directly from the same codebase.

USE CASE 4

Follow the official book tutorials to learn game development in Rust step by step.

Tech stack

RustWebAssembly

Getting it running

Difficulty · moderate Time to first run · 1h+

Requires the Rust toolchain, initial compile times are long due to the engine's size.

Use freely for any purpose, including commercial games, as long as you keep the copyright notice.

In plain English

Fyrox is a game engine for building 2D and 3D games, written in the Rust programming language. A game engine is a large software framework that handles the underlying systems a game needs: rendering graphics on screen, playing sounds, handling physics, managing scenes and objects, and accepting player input. Instead of building all of that from scratch, a developer uses the engine and focuses on the actual game content and logic. Fyrox comes with a scene editor, which is a visual tool for laying out the elements of a game world without writing code for every detail. You can arrange objects, adjust lighting, and configure properties through the editor interface. This is a significant feature because many game engines at this scale are code-only, making them harder for people who prefer visual workflows. The engine targets production-ready use, meaning it is designed for complete games rather than just prototypes. It supports a wide range of rendering features for 3D scenes and also works for 2D games, making it flexible for different project types. Fyrox was previously known as rg3d. The name changed as the project matured. It is distributed as a Rust library (also called a crate), so developers add it to their Rust project using the standard Rust toolchain. Demos can be run directly in a web browser from the project's website, which gives you a sense of what finished projects look like. Learning materials include an official book covering how to set up the engine, build a project, and work through practical tutorials. Community support is available through a Discord server and the GitHub Discussions section. The project is funded by individual sponsors through Patreon and Boosty, and is released under the MIT license.

Copy-paste prompts

Prompt 1
I want to start a new 3D game with Fyrox in Rust. Show me how to add it as a dependency and set up a basic scene with a camera and a moving object.
Prompt 2
Help me use the Fyrox scene editor to import a 3D model, add a light source, and configure basic physics so an object falls to the ground.
Prompt 3
Walk me through the Fyrox book tutorial for creating a first-person player controller in Rust.
Prompt 4
How do I export my Fyrox game to run in a web browser? What steps do I follow?
Prompt 5
Show me how to add sound effects to a Fyrox game, loading an audio file and playing it when a collision is detected.
Open on GitHub → Explain another repo

← fyroxengine on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.