A lightweight, modular game engine built with C# (2D-focused, 3D-capable).
Version: v0.13.0 (Dev)
MicroEngine is a clean, modular, backend-agnostic game engine designed for clarity, maintainability, and long-term scalability.
It currently focuses on 2D games, but its architecture is intentionally dimension-agnostic, enabling future extension into 3D rendering, physics, and scene management without architectural rewrites.
The engine cleanly separates:
- Engine Core (logic, ECS, scenes, update loop)
- External Backends (render, input, audio)
- Game Layer (your game code)
-
🔸 Fixed-step update loop (decoupled from rendering)
-
🔸 Dimension-agnostic architecture (2D today, 3D-ready)
-
🔸 Scene system with deterministic transitions
-
🔸 Lightweight, readable ECS
-
Engine.Core → Pure engine logic
-
Engine.Backend.* → Optional backend implementations
-
Game/ → Game project using the engine
The core contains no rendering, audio, or input dependencies.
Backends implement interfaces and can be swapped without modifying engine code.
For a full breakdown, see:
📘 docs/ARCHITECTURE.md
While MicroEngine is currently 2D-focused, the architecture is designed to evolve into:
- 3D rendering pipelines
- 3D physics
- 3D cameras
- mesh importers
- material/shader systems
- spatial scene graphs
This forward-compatible design ensures that new capabilities can be added without breaking the current 2D engine.
Available as NuGet packages:
- MicroEngine.Core
- MicroEngine.Backend.Raylib
Versioning uses SemVer + Nerdbank.GitVersioning (NBGV).
Contributions are welcome!
Please read:
Licensed under the MIT License.
See the LICENSE file for details.