A .NET framework for creating cross-platform games using C#, re-implementing the discontinued XNA Framework.
MonoGame is a .NET framework for creating cross-platform games using the C# programming language. It is an open-source re-implementation of Microsoft's discontinued XNA Framework, enabling developers to build games for desktop, mobile, and consoles. The framework provides tools for graphics rendering, content management, and platform abstraction, solving the need for a modern, maintained alternative to XNA.
Game developers familiar with C# and .NET who want to create 2D or 3D games for multiple platforms, including indie developers and studios targeting PC, mobile, or consoles.
Developers choose MonoGame for its proven reliability in shipping commercial games, its cross-platform capabilities, and its familiar XNA-like API. It offers a balance of low-level control and high-level abstractions without the licensing costs of proprietary engines.
One framework for creating powerful cross-platform games.
Supports a wide range of platforms including Windows, Linux, macOS, Android, iOS, and consoles like PlayStation and Nintendo Switch, as detailed in the README's Supported Platforms section.
Powers successful indie games like Celeste and Stardew Valley, demonstrating its reliability for shipping commercial products across various genres.
Leverages the .NET ecosystem and C# programming language, making it accessible to developers with existing .NET skills and enabling use of modern .NET tools and libraries.
As an open-source project, it allows for community contributions and customization, with active support on Discord and GitHub, as indicated in the Support and Contributions section.
Unlike engines like Unity, MonoGame lacks an integrated visual editor, requiring developers to code most aspects manually or rely on external tools, which can slow down iteration.
Vulkan and DirectX 12 support is in preview for version 3.8.5, as noted in the README, which may lead to instability, bugs, or incomplete feature sets for cutting-edge graphics.
Access to console platforms requires being a registered developer with respective platform holders, adding an extra licensing and approval step compared to desktop or mobile development.
MonoGame is an open-source alternative to the following products:
Protocol Buffers - Google's data interchange format
A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.
JSON for Modern C++
ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.