For game developersScript persona
A scene tree you already know, and a save-and-see loop instead of a build.
Nodes and scenes like the ones you already work in, scripts that go live in milliseconds without losing the state, scenes as TOML you can read and review, and one self-contained binary to ship. Written in Rust, MIT, 2D and 3D.

What you get
A tree of nodes, not an ECS to learn
A game is named nodes with scripts attached. Every node is an ECS entity underneath, and you never have to see it — that layer is for plugin authors.
Save the script, it is already running
Hot reload in milliseconds with the state intact: the ball keeps its position, the score keeps its value. A script that does not compile reports its file, line and caret, and the running code stays up.
Scenes are TOML
Readable, diffable, reviewable in a pull request, editable by hand or by the editor. One component is a scene key, a script call and an inspector row at the same time.
One file to ship
A pack fused onto a runtime: one self-contained binary per target, with no compiler, no sources and no runtime to install alongside it.
How it works
A scene is a file you can read. A component comes from a plugin and shows up in three places at once.
body3d, collider3d and shape3d are components the physics and render plugins registered. Registering them made them scene keys, script calls and inspector rows together — there is no separate binding step and no generated glue to keep in sync.
Scripts are Rune: Rust's syntax, no build step, async/await. A script is a file attached to a node, with init, update and whatever methods the scene calls.
[[nodes]]
name = "Ball"
position = [0.0, 6.0, 0.0]
script = "scripts/ball.rn"
body3d = "dynamic"
collider3d = { kind = "ball", radius = 0.5 }
shape3d = { kind = "ball", radius = 0.5 }In the editor
The Script persona puts the code, the tree and the output on one screen.
Script editor
Edit a script beside the running scene. Save and the change is live; a compile error names the file, the line and the column, and the old code keeps running.
Debugger
Breakpoints in the gutter, stepping, frames and locals in a dock. The game freezes while the editor stays live.
Play in editor
Run the scene in the viewport, keep the inspector, stop and be back where you were. The editor is itself a Balaur project, so it runs on what it edits.
Next to Godot, Unity and Unreal
Where Balaur stands against the engines most games are made in, as of September 2026. It is 0.1 and they are not — the maturity row is the one to read first.
Each rival's column comes from its own site and licence terms as of September 2026; check them before deciding anything, because they all move. If a cell is wrong, open an issue — this page should never flatter Balaur at another project's expense.
Balaur next to the other Rust engines, Bevy and Fyrox, is on Compare. What the engine does not do yet is on the roadmap, and it is a long list.
Change a script while the game runs.
examples/hello is a spinning cube, a bouncing ball and a HUD label in five short scripts. Open it, edit scripts/spinner.rn, and watch the new code take over with the state kept.