Game Engines (3D / general)
Godot, Unity, Unreal, Bevy and the rest of the general-purpose 3D engine field.
The general-purpose 3D engine choice is the single biggest decision in any game project. See the Game Development overview for the full landscape, 3D / WebGL for browser-shipped 3D, 2D engines for 2D-first picks, code-first libraries for raylib-shaped tools, and source control before you commit to anything that produces gigabyte binaries.
The 2024–26 landscape: Unity's runtime-fee saga in late 2023 was reversed in 2024 but bled trust — many indies migrated to Godot 4.x, which is now genuinely production-grade. Unreal Engine 5 with Nanite, Lumen, MetaHuman and MetaSounds remains the AAA default. Bevy crossed 0.14 and is the serious Rust ECS option. Stride and o3de are credible OSS alternatives if you specifically don't want Godot. AAA studios are not switching off Unreal.
The big three
- ★ Godot 4 — MIT, no royalty, no seat fee. GDScript (Python-ish) or C#. Excellent 2D, very good 3D, weakest spot is high-end 3D rendering vs. Unreal and console certification. Editor runs on Linux. The default OSS choice.
- ★ Unity 6 (2024) — Personal license free under $200k revenue, Pro at $2,200/seat/year. Runtime fee was withdrawn in late 2024 after the backlash. Massive asset store, biggest tutorial corpus, dominant in mobile and mid-budget indie. C# only.
- ★ Unreal Engine 5 — free to use; 5% royalty above $1M lifetime revenue per product (waived for sales through Epic Games Store). Nanite (virtualized geometry), Lumen (realtime GI), MetaHuman, MetaSounds, Niagara. C++ + Blueprints. The AAA default; overkill for most indies.
Open-source alternatives
- ★ Bevy — Rust ECS, MIT/Apache. No editor yet (planned), but the data-oriented core is genuinely fast and idiomatic. 0.14+ added significant ergonomics. Pick if you actively want Rust.
- Stride (formerly Xenko) — MIT, C#. Modern PBR renderer, Visual Studio integration, the credible OSS C# engine.
- o3de (Open 3D Engine) — Apache 2.0, AWS-stewarded fork of Lumberyard / CryEngine ancestry. Heavyweight, modular, slow ramp; corporate-friendly licensing.
- Flax Engine — free for under $250k revenue, then paid. C#/C++. Niche but polished.
- Defold — free Lua engine from a King / Midasplayer team. Tiny binaries, fast iteration, originally a 2D engine but capable in 3D.
- Panda3D — Python/C++, Disney/CMU heritage. Python-friendly 3D.
- jMonkeyEngine — Java, BSD. Long-running OSS Java engine.
- Torque3D, Urho3D — older OSS engines, mostly historical at this point.
When the third-party "free" engines bite
- Unity Personal is genuinely free under $200k but you must remove the splash and disable telemetry collection if you care; commercial games over $200k require Pro/Enterprise.
- Unreal is free until $1M lifetime gross per product, then 5% royalty. EGS-published titles are royalty-free.
- Flax flips to paid above $250k revenue.
- Godot has no revenue trigger — MIT all the way.
Picking by language
- C#: Unity, Stride, Godot (with Mono build), Flax.
- C++: Unreal, o3de, Godot (modules), custom engines.
- Rust: Bevy, ggez, Fyrox.
- GDScript: Godot.
- Lua: Defold, LÖVE (see 2D engines).
- Python: Panda3D, Ren'Py (see specialized engines).
Pick this if…
- Solo indie, no royalty, OSS: Godot 4.
- You're already in the Unity ecosystem: stay. Unity 6 is fine.
- AAA fidelity, photoreal, big team: Unreal Engine 5.
- Rust enthusiast or ECS purist: Bevy.
- OSS C#: Stride.
- AWS / corporate-friendly OSS: o3de.
- Tiny binaries, quick web/mobile builds: Defold.