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.
We now have forums! 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. Our next release will be ready for the latest MonoGame 3.5. We also have Nuget packages of previous releases or of course you can [build from source] to get the latest and greatest.
Note: If you're building from source please install the latest MonoGame v3.5 Development Build. If you don't, you'll get build errors due to incompatible content Pipelines between MonoGame 3.4 and 3.5.
Please keep in mind that the project is still evolving. Some breaking API changes are liklely to occur as we progress towards version 1.0.
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 the 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!)
- 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).