It makes MonoGame more awesome.
MonoGame.Extended is an open source extension library for MonoGame. A collection of classes and extensions to make it easier to make games with MonoGame.
MonoGame.Extended v0.5 has been published as a NuGet package and can be installed now. Please read the install guide to setup the Pipeline tool.
Install-Package MonoGame.Extended
This release is compatible with MonoGame 3.5!
Note: If you're still using MonoGame 3.4 you must upgrade to 3.5 for everything to work.
Our forum is part of the MonoGame community. Please ask any questions or post about problems or bugs that you have found there. Let us know if you're making a game with MonoGame.Extended!
MonoGame.Extended has a growing community of contributors adding to the project all the time. We also have Nuget packages of published releases and of course you can build from source to get the latest and greatest.
Please keep in mind that the project is still evolving. Some breaking API changes are likely to occur as we progress.
MonoGame.Extended is a portable class library that sits on top of MonoGame. It's designed to work on all supported platforms using a single portable DLL. At runtime, the portable library will call into the platform specific MonoGame DLL referenced in your project. If you do use it on another platform please let us know!
We've got several feature demos in this repository and we're building up the wiki. You can also pop into the forums, check out my blog, ask a question on gamedev stack overflow or use our live chat.
See the How to install MonoGame.Extended guide. Here's the TL;DR version:
The library is distributed as a NuGet package. Add a reference to your project using the following command:
Install-Package MonoGame.Extended
The package comes with 2 DLLs:
- MonoGame.Extended.dll
- MonoGame.Extedded.Content.Pipeline.dll
The MonoGame.Extended.Content.Pipeline.dll
needs to be referenced by the Pipeline tool. To reference the DLL in the Pipeline tool you'll need to edit your Content.mgcb
file.
- Tile based maps using Tiled
- Bitmap fonts using BMFont
- Sprites (with SpriteBatch extensions!)
- Particles using the Mercury Particle Engine
- Input listeners for event driven input handling (Keyboard, Mouse, Touch, GamePad).
- Texture Atlases using the JSON format in TexturePacker.
- 2D Camera with pan, zoom, and rotation.
- Viewport Adapters for resolution independent rendering.
- Sprite Animators using texture atlases.
- Timers including a continuous clock and a countdown timer w/ event integration
- FPS Counter that is handy for debugging.
- Primitive Shapes and sprite batch extensions to draw them.
- Sprite Sheet Animations - created with the Astrid Animator prototype.
- Simple Collision Detection - experimental.
If you would like to contribute start with one of the following:
- Please post your thoughts on our forum.
- Join the discussion on one of the issues. We often use github issues to discuss new features as well.
- Talk about it on your blog or twitter.
- and of course, you can fork the project.
- The primary goal is to make it easier to make games.
- Choose the features you like and the rest stays out of your way.
- A clean and consistent API familiar to MonoGame developers.
- It's not a game engine, but extends the framework.
- Follows C# coding guidelines.
MonoGame.Extended is released under the The MIT License (MIT).
- Matthew-Davey for letting us use the Mercury Particle Engine.
- John McDonald for 2D XNA Primitives
- LibGDX for a whole lot of inspiration.
- All of our contributors!