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.
Thanks to all those that support the project on Patreon! Running an open source project can be done on a shoe string budget, but it's certainly not free. A little funding goes a long way. It keeps the build server up and running and let's me devote more of my time to the project. Even just a few supporters really helps.
What happens to MonoGame.Extended if we don't get the funding? Never fear. The project won't die. The code will always be safely open sourced on github.
- Austin
- Ben
- Chris
- Conor
- Iliyan
- James
- Laurence
- Marcel
- Mario
- Max
- Nathanial
- Nox
There's a lot going on in the develop
branch right now. We're working towards the next official release (v0.6.xxx). If you want to keep up with the latest and greatest it's recommended that you:
MonoGame.Extended v0.5 was published on 8th April 2016 as a NuGet package. 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.Extended.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.
- Tweening**
- Sprite Sheets
- Game Component**
- Texture Atlases
- Bitmap Fonts
- Tiled Maps
- Bounding Shapes
- Intersection and overlap testing
- Event based input (input listeners)
- Gesture detection (taps, panning, flinging and pinch zooming)
- Button Mapping (W=Up, A=Left, Space=Jump, etc)
- Game components**
- Sprites
- Scene Graphs
- Camera
- Simple shape rendering
- Screen Management
- Controls
- Label**
- Button (Text or Image)**
- Toggle Button (Checkbox)**
- Progress Bar
- Text Box**
- Image
- Slider
- Layout
- Canvas
- Stack Panel
- Wrap Panel
- Dock Panel
- Grid
- Dialog
- Window
- Skinning**
- Events**
- Drag and Drop
- Emitters
- Modifiers (age, drag, gravity, rotation, velocity, vortex)
- Profiles (box, circle, line, point, ring, spray)
- Sprite Batch Renderer
- Game Component**
- Timers
- Virtual Screens (viewport adapters)
- Bounding Shapes
- Collections
- FPS Counter
- Random Numbers
- Windows
- Linux
- Mac
- Android^^
- iOS^^
** Work in progress
^^ Not officially tested but should work
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.
- @prime31 for Nez, which ideas and code bounce back and forth.
- All of our contributors!