Create cross-platform games for desktop, mobile, and consoles using the C# language and .NET framework.

MonoGame is an open-source framework for creating games using the C# programming language. It serves as a re-implementation of the discontinued Microsoft XNA Framework, allowing developers to build games for desktop PCs, mobile devices, and video game consoles. Unlike full-featured engines with visual editors, MonoGame operates as a library within the .NET ecosystem, giving developers direct control over the game loop and rendering process.
Developers use MonoGame to build everything from simple 2D platformers to complex 3D environments. It is deployed across a wide variety of operating systems and hardware platforms, supporting both 2D and 3D graphics development through a code-centric approach. The framework is designed to be lightweight, removing the need for proprietary subscriptions or runtime fees while maintaining compatibility with modern hardware.
The architecture focuses on a high level of flexibility, providing a game framework in MonoGame.Framework and a content pipeline in MonoGame.Framework.Content.Pipeline. It is intended for developers who prefer writing code over using visual drag-and-drop editors. The framework includes a dedicated content builder project and project templates to accelerate the initial setup process. Because it is based on .NET, it integrates with standard C# development tools and libraries. This approach has been used in the production of commercially successful titles such as Stardew Valley, Celeste, and Streets of Rage 4.
MonoGame is a royalty-free framework for developers seeking a flexible, code-first approach.
Build 2D, 3D, and multiplayer games for mobile, desktop, and web using a no-code event system.
Convert real world geographic data into detailed Minecraft Java and Bedrock Edition worlds using OpenStreetMap.
Join our newsletter to get shiny new open source software delivered to your inbox. Unsubscribe anytime.