MonoGame Tutorials

MonoGame is a lightweight, cross-platform, unopinionated game engine for C#. MonoGame is an open-source implementation of Microsoft's now-retired XNA, and they've stuck extremely close to what XNA was, while also being able to run almost anywhere.

That "unopinionated" thing is, perhaps, the most important aspect of MonoGame, and drives much of what MonoGame is. On one hand, it doesn't pigeonhole you into doing anything a certain way, which is a refreshing contrast to other game engines. You can build things the way that you want or the way that makes the most sense for your game.

On the other hand, the decision to be unopinionated means there's more you must write yourself. As an example, there is no built-in physics engine, nor UI library. Still, there are lots of libraries out there for doing both in MonoGame, and if you feel they're a good fit for what you're doing, you can bring them along for the ride. If you don't find anything you like, you can build your own.

These tutorials are being ported from the XNA tutorials, but they have not all been ported. When you get done with the tutorials here, you might consider jumping over to those and reading them to flesh out some extra details.


1 - C# Crash Course

If you have never done anything with programming, start with this crash course on the basics of programming with C#. If you already know the basics of programming, feel free to skip this set of tutorials.
C# Crash Course


2 - Getting Started

Before you get started, there are a few things you will need to know and do in these four tutorials. These tutorials explain a little bit about what MonoGame is, how to install the necessary (free) software to use MonoGame, and how to do some of the basic things in it. Once you have been through these few tutorials, you will be able to go on to just about anything that you want, though I recommend going to the 2D tutorials next, and then the 3D tutorials, and pick up the rest of the tutorials as you need them.
Getting Started


3 - 2D Tutorials

These tutorials cover the basics of doing 2D stuff, like drawing text and images, as well as 2D animation, and some fancy effects in 2D. After you have completed these tutorials, you should be able to make some pretty interesting 2D games with MonoGame.
2D Tutorials


4 - 3D Tutorials

These tutorials should get you going with a 3D game. They cover things like drawing models, animation in 3D, and some simple effects, like lighting, and fog. These tutorials should really get you going on any 3D game.
3D Tutorials


5 - Input Tutorials

No game is complete without getting input from a user. When you get to the point in your game development where you are ready to get input from the user, take a look at these tutorials. They cover all sorts of input, including keyboard input, mouse input, and input from an Xbox controller.
Input Tutorials

This is all of the MonoGame tutorials that I have at the moment. I intend on adding more in the near future, so please check back soon.

Additionally, it is usually pretty easy to port XNA code over to MonoGame, so check out all of my XNA Tutorials. There's a nearly limitless number of them, most of which should work without problem.

But while we're at it, please let me know what you're seeing as you explore MonoGame. Did you find a tutorial that doesn't port directly over? Are you running into a MonoGame specific problem? Is there anything specific that you'd like to see covered first?

Anything you can do to help me prioritize the work I've got to do will help a great deal.