A cross-platform C# 2D game engine built on top of MonoGame.
The easiest and recommended way to start using the engine is by installing the Visual Studio templates:
dotnet new install MonoGo.Templates
You can also add the packages manually:
dotnet add package MonoGo.Enginedotnet add package MonoGo.Engine.DesktopGLordotnet add package MonoGo.Engine.WindowsDX
Install optional modules depending on your project needs:
If you are using AI coding assistants (like Cursor, GitHub Copilot, or CLI agents) to work with or contribute to MonoGo, please point them to the AGENTS.md file located in the root directory.
This file contains crucial architectural rules, code style guidelines, and mandatory reference implementations specifically tailored for LLMs to ensure they write idiomatic MonoGo engine code.
- Graphics pipeline and automated batch/vertex buffer management.
- Easy sprite sheet animations.
- Texture packing.
- Sprite groups and dynamic graphics loading.
- Input management with GamePad support.
- Timers, alarms, cameras, and state machines.
- Coroutines.
- Hybrid Entity-Component (EC) architecture.
- Scene system with layers.
- GameDev-focused math library.
- Lightweight collision detection.
- Integrated post-processing management (includes Bloom & Color Grading effects).
- Powerful particle effect system.
- Extensive GUI system.
- Enhanced content management.
- FMOD audio support (as a standalone library).
The included sample project contains many more demos, but here are a few impressions to get you started:
- MonoGame created by MonoGame Foundation, Inc
- Monofoxe created by Chai Foxes (Martenfur)
- StbImageSharp created by Roman Shapiro (rds1983)
- Iguina created by Ronen Ness
- Mercury Particle Engine created by Matthew Davey (Matt Davey)
- ColorGrading & Bloom Filter created by Thomas Lüttich (Kosmonaut3d)
For license information please take a look at the License.txt file.




