This page looks best with JavaScript enabled

Getting Started With MonoGame

 ·   ·  ☕ 2 min read

Returning to MonoGame after years of not touching it. Lets learn how to get started and what has changed since XNA was discontinued.

First, the basics. MonoGame is a Game Framework/Engine based off of Microsoft’s XNA Framework. It provides a lower level of access to core game features than something like Unity would including direct access to the games Draw and Update loop. The down side to all of that freedom is you lose a lot of extra stuff something like Unity or Unreal offer. Things like Physics, Object Management and Animation all need to be handled yourself or using some extension to Mono Game (for example FarSeer or Bullet physics). This means you have a massive amount of freedom at your fingertips, but also a lot more work architecting your game and how all your components will fit together.

MonoGame runs on .NET and supports pretty much every platform you can think of thanks to the capabilities of Mono. Windows, Linux and MacOS are all supported, so are iOS and Android, Xbox, PlayStation, Switch and more!

It also has the advantage of being entirely free and open source so you can take it anywhere or even change the framework if your needs require it.

In this video we’ll look at the basics of getting started with MonoGame. How do you create a project? How does the game loop work and where should your code go? How do you get content like Texture’s into the project? After we get all of that sorted out we’ll start work on building a classic screensaver effect where an image bounces around the screen. This will give us the chance to dive into how to move a simple Texture around the screen, use Sprite Batches and more.

Want to try MonoGame yourself? Check out their website at

Music Credits:
“Voice Over Under” Kevin MacLeod (
Licensed under Creative Commons: By Attribution 3.0 License

Sam Wronski
Sam Wronski
Maker of things, currently helping build cloud things @ Google. World of Zero is a personal project disconnected from my professional work. Lets make something awesome together!