MonoGame

MonoGame
DeveloperMonoGame Foundation
ReleaseDecember 2, 2009 (2009-12-02)
Stable release
3.8.4 / June 2, 2025 (2025-06-02)
Written inC#
PlatformiOS, iPadOS, macOS, Android, Linux, Windows Phone 8, Windows Desktop, Windows 10, PlayStation 4, PlayStation 5, PlayStation Vita, Xbox One, Xbox Series X/S, Nintendo Switch
TypeApplication framework
LicenseMicrosoft Public License
Websitewww.monogame.net
Repository

MonoGame is a free and open source software framework for developing video games in C#. It began as a way to bring existing XNA-based Windows and Windows Phone games to platforms Microsoft did not officially support, and is now also used to build new games from scratch. It supports iOS, iPadOS, Android, macOS, Linux, PlayStation 4, PlayStation 5, PlayStation Vita, Xbox One, Xbox Series X/S and Nintendo Switch, in addition to Windows. It implements the Microsoft XNA 4 application programming interface (API). Games built with MonoGame include Bastion, Celeste, Barotrauma, Fez, and Stardew Valley.

MonoGame originated in December 2009 as a port of XNA to the iPhone, and was renamed and moved to GitHub in 2011. After Microsoft ended development of XNA in 2013, MonoGame continued as an independent open-source project, later adding 3D rendering and support for consoles including PlayStation 4, PlayStation 5, Xbox One, Xbox Series X/S, and Nintendo Switch. Since September 2023, the project has been owned and stewarded by the MonoGame Foundation, a US-based non-profit organization that funds development through individual and corporate donations rather than subscription fees, royalties, or licensing costs. The framework's source code is distributed under the Microsoft Public License.

MonoGame renders graphics differently depending on platform, using DirectX on Windows and OpenGL elsewhere; native support for the newer Vulkan and DirectX 12 graphics APIs entered public preview in late 2025. Because MonoGame is an independent reimplementation of the XNA API rather than a copy of Microsoft's original source code, and because it has extended and modified that API over time rather than reproducing it exactly, developer Ethan Lee forked the project in 2013 into a stricter, accuracy-focused alternative called FNA. MonoGame is also used in academic and hobbyist settings to teach fundamental game-programming concepts.