Hey everyone

Welcome to another release of MonoGame 2.1.  We have been hard at work trying to make MonoGame bigger and better.  We have some new functionality which includes our first steps to 3D support as well as bug fixes, optimizations and more XNA 4.0 support.

We have to give a big thank you to all the people that provided feedback, bug fixes and especially the people that wrote samples that allowed us to focus on specific bugs.

Dominique Louis does not have his name in the official press releases but he has been the coordinator of the project and doing one hell of job keeping us all working to our common goal.  Please give him a shout at https://twitter.com/#!/SoftSavage

Here is the official release:

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 (http://www.youtube.com/watch?v=jrwrLca871c) and also created a demo that shows off the first tentative steps into 3D (http://www.youtube.com/watch?v=3HPIe76f-VQ).  The VectorRumble demo also shows off the improvements to the wavebank implementations.

The latest framework sources can be downloaded from : http://github.com/mono/MonoGame.

A group of multi-platform XNA Samples can be downloaded from : http://github.com/CartBlanche/MonoGame-Samples


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 https://github.com/mono/MonoGame

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 irc.gnome.org 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)

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.


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


  • 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.
  • StarterKits
  • VectorRumble

MacOS X:


  • 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.
  • StarterKits
  • VectorRumble

Linux :

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


Windows :

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

Known Issues


  • The Guide functionality is only available in iOS, for this release.
  • VectorRumble starter kit requires touch implementation


  • Accelerometer disabled for Android, due to memory leak (with Xamarin)
  • The .xnb texture in the Render2Target demo is not loading correctly
  • Sound now only plays wav or ogg files  ( help us make it better )
  • Rendering textures to a Rectangle causes unexpected behavior (Issue 118)
  • Resource problems after OnResume (Issue 165)


  • Sound, using OpenAL, only plays MP3 files ( help us make it better )


  • Problem with full screen in Lion with Macbook swiping and Spaces.
  • Problems with sound playing simultaneously
  • Problems with Panning on sound effects