MonoGame 2.1

MonoGame Takes Tentative Steps into 3D : MonoGame 2.1 Announced

MonoGame is an open source implementation of the XNA APIs that allows developers to build 2D games that run on Android, iPhone, iPad, Mac, Linux and Windows using the same code base, or reusing existing XNA code that runs on Xbox 360 or Windows Phone 7.

The MonoGame 2.1 release is an update to fix bugs, implement optimisations and to add key features. In this release GamePad support was added and so was DrawUserPrimitives. There were also several bug fixes across all platforms.
To show off the DrawUserPrimitives we ported an old XNA 2 demo called VectorRumble to MonoGame ( and also created a demo that shows off the first tentative steps into 3D ( The VectorRumble demo also shows off the improvements to the wavebank implementations.

The latest framework sources can be downloaded from :

A group of multi-platform XNA Samples can be downloaded from :


The 2.x series will be released frequently to provide bug fixes and performance optimisations.
The 3.x series will extend MonoGame with support for the XNA 3D APIs as well as something we are working on, which we believe the whole MonoGame will love.


Firstly, go over to github and register. Then fork the main repo found at This will allow you to make changes to your own repo and send us patches and enhancements, thus benefiting everyone.
You can also join the active community of developers on IRC at on the #monogame channel, where the day-to-day improvements are being discussed in real time.

If you release a game using MonoGame, please let us know so we can update our released games page, and mention MonoGame in your tweet.


  • Jalfx (for starting this project in 2010, when it was called XNATouch)
  • kjpou1
  • technomage
  • slygamer
  • Clancey
  • Grapes
  • JorgeMagic
  • espes
  • Tapani

Last but not least, Team Xamarin for their support and continued great work on all things Mono and everyone else that submitted patches/fixes and enhancements. Without your contributions this release would not have been possible.

Fixes and Features

All Platforms:

  • Content Manager rewritten to use partial classes and implementation of cached assets that are loaded. Greatly improves memory footprint.
  • Experimental support for GamePads and Joysticks. Enhancements will be coming to integrate better for developers.
  • ContentReader improvements across the board.
  • Improved support for XACT audio.
  • StarterKits
    • VectorRumble


  • Gesture support has been improved.
  • Better support for portrait to landscape rotations
  • Fixed a rendering bug related to upsidedown portrait mode
  • Better WaveBank support


  • Updated to support Mono for Android 4.0.
  • Improvements to the Orientation Support.
  • Changed Sound system to use SoundPool.
  • Added Tap and DoubleTap Gesture Support.


  • A lot of enhancements and fixes for Full Screen and Windowed control.
  • Cursor support fixed for IsMouseVisible.
  • Implementation of IsActive property and the events Activated and Deactivated.
  • First steps of DrawPrimitives, DrawUserPrimitives, DrawIndexedPrimitives
  • Better WaveBank support
  • Support for ApplyChanges() and setting the backbuffer and viewport sizes correctly.


  • All new implementation which share quite a bit of code between MacOS X and Windows
  • Added shader support via the Effects class


  • All new implementation which shares quite a bit of code between MacOS and Linux

Known Issues


  • The Guide functionality is only available in iOS, for this release.