MonoGame README

The project's README from github.com/MonoGame/MonoGame. As one markdown file: README.md.

MonoGame

MonoGame

Join the chat at https://discord.gg/monogame GitHub Actions Workflow Status Donate

One framework for creating powerful cross-platform games

Supported Platforms • Resources • Samples • Support and Contributions • Source Code • Helpful Links • License

Overview

MonoGame is a simple and powerful .NET framework for creating games for desktop PCs, video game consoles, and mobile devices using the C# programming language. It has been successfully used to create games such as Streets of Rage 4, Carrion, Celeste, Stardew Valley, and many others.

It is an open-source re-implementation of the discontinued Microsoft's XNA Framework.

Supported Platforms

We support a growing list of platforms across the desktop, mobile, and console space. If there is a platform we do not support, please make a request or come help us add it.

[!NOTE] Vulkan and DirectX12 graphics support is also being added in preview for 3.8.5 for supported platforms.

[^1]: An experimental Vulkan implementation is available to source code users.

[^2]: An experimental DirectX 12 implementation is available to source code users.

[^3]: Requires a distribution with glibc 2.27 or up. This includes SteamOS 3.0 and up, Ubuntu 22.04 and up, Debian 12 and up, CentOS 9 and up among other unlisted distributions.

Resources

Samples

Check out the awesome game samples maintained by the MonoGame team:

Platformer 2D Sample NeonShooter
Supported on all platforms Supported on all platforms
Platformer 2D Sample NeonShooter Sample
The Platformer 2D sample is a basic 2D platformer pulled from the original XNA samples and upgraded for MonoGame. Neon Shooter Is a graphically intensive twin-stick shooter with particle effects and save data from Michael Hoffman
Auto Pong Sample Ship Game 3D
Supported on all platforms GL / DX / iOS / Android
Auto Pong Sample ShipGame 3D Sample
A short sample project showing you how to make the classic game of pong, with generated soundfx, in 300 lines of code. 3D Ship Game (Descent clone) sample, pulled from the XNA archives and updated for MonoGame

Support and Contributions

If you think you have found a bug or have a feature request, use our issue tracker. Before opening a new issue, please search to see if your problem has already been reported. Try to be as detailed as possible in your issue reports.

If you need help using MonoGame or have other questions we suggest you post on GitHub discussions page or Discord server. Please do not use the issue tracker for personal support requests.

If you are interested in contributing fixes or features to MonoGame, please read our contributors guide first.

Subscription

If you would like to help the project by supporting us financially, consider supporting us via a subscription for the price of a monthly coffee.

Money goes towards hosting, new hardware and if enough people subscribe a dedicated developer.

There are several options on our Donation Page.

Source Code

[!NOTE] For the prerequisites to build from source, please refer to the Requirements file.

The full source code is available here from GitHub:

A high level breakdown of the components of the framework:

License

The MonoGame project is under the Microsoft Public License except for a few portions of the code. See the LICENSE.txt file for more details. Third-party libraries used by MonoGame are under their own licenses. Please refer to those libraries for details on the license they use.

MonoGame (MonoGame/MonoGame)

Searching Database…

14.5K ·GitHub
What is this?MonoGame is an open-source .NET framework for building cross-platform games in C#. It's a community-driven re-implementation of Microsoft's discontinued XNA Framework.
Is MonoGame a full game engine with an editor, or a lower-level framework I code against?It's a code-first .NET framework (the XNA-style API), not an editor-driven engine like Unity or Unreal — you write C# code for rendering, input, and content rather than using a visual scene editor.
How do I build MonoGame or add it to a project?To build from source: clone with 'git clone --recurse-submodules', run 'git submodule update --init', then open the solution for your target platform in your IDE. Prebuilt packages are also published on NuGet.Org for direct use in projects.
What do I need installed before building it from source?The README points to a separate Requirements file for the exact prerequisites needed to build from source rather than listing them inline.
Can I ship to every platform MonoGame lists, including consoles?Desktop (Windows, Linux, macOS) and mobile (Android, iOS) support is open to anyone, but console targets like PlayStation, Xbox, and Nintendo Switch are only available to registered platform developers. Vulkan and DirectX12 support is still experimental/preview.
What major games were built with MonoGame?MonoGame has been used to ship commercial titles such as Streets of Rage 4, Carrion, Celeste, and Stardew Valley.
What tools come with the content pipeline?The 'mgcb' command-line tool processes content, 'mgfxc' compiles shader effects, and 'mgcb-editor' provides a GUI front-end for the pipeline.
Can I use Vulkan or DirectX12 graphics with MonoGame?Experimental Vulkan and DirectX12 support is being added in preview for version 3.8.5, but for now it's only available to users building MonoGame from source code.
What are similar projects?sbox-public, ArcadeMaker, Chisel, libgdx, maui, bgfx, Avalonia, uno
Creator
MonoGame
Size
117.5 MB
Stars
14.5K
Age
15y
Commits · 90 Days