This year MonoGame, one of our favorite cross platform development frameworks, has gotten a new lease on life. First it shed its original connect to XNA and has now been embraced by the Xbox One, MonoGame on the Xbox One? It's coming soon... (Yes, really) and How MonoGame is bringing more indie developers to Xbox One
Today Simon (Darkside) Jackson provides a great tutorial on MonoGame's new'ish Content Project tool...
MonoGame Content Project tool walkthrough
To accompany the video project for the Content Project/pipeline tool, this blog post will also show you all the features of the MGCB tool, along with a few tips and tricks.
The video for this post can be found here if you prefer video:
Content projects with XNA –> MonoGame
In the XNA days, to manage content we had a separate project type (The Content Project) which allowed us to store the assets for our project in one place. It also gave us access to the Content Pipeline, an arguably very powerful framework for managing the importing and consumptions of those assets:
The content project, referenced in the XNA game solution using a Content reference.
Did you know?
You can still Create / Manage and Edit XNA solutions today with Visual Studio 2013 / 2015 using the awesome MXA project. Just install the package and XNA will still live on and is still deployable.http://mxa.codeplex.com/releases
Now MonoGame also has the same setup, you can create Content Projects using the MonoGame Content Project tool and reference them in the same way as XNA did:
...
Getting started with the Content Project / Pipeline tool (MGCB)
As with everything MonoGame (and most open source projects in general) you have the choice for how to use the Content Tool, you can:
- Use the pre-built Content Project that comes with any new MonoGame project as is.
- Create Content Projects separately and reference them manually.
- Forget this content pipeline stuff and do it yourself. (You could also drop MonoGame and write your game in C++, Assembly or JavaScript
)
Whichever path you chose with your MonoGame Content projects, you can manage them in the same way.
1: Create a Project ...
2: Add Content ...
3: Build and test ...
4: Add to your game project ...
5: Load Content and Draw...
...
Next Steps
Well, you now have you content, it is nicely packaged and ready for use in your game projects, what could be better?
Well one thing that is absolutely awesome is that you can use the same Content Project for ALL your platforms, in fact the only time you may want to use more than one content project is if you are supporting vastly different resolutions (and need higher quality art). In general though, only one is needed.
Well, I say one, you can have as many Content Projects as you like, there is no limitation. Some games package assets per level, some have the types of art in different projects, just because it’s easier to manage that way, the choice is up to you.
...
Going Advanced
Now I mentioned earlier about creating your own Content Importers and Processors, these are what are known as Content Pipeline Extensions.
...
On with the Show
Right, I’m done with basic use of the Content Project. If you have any specific requests for subjects to follow this then please leave a comment below or on my MonoGame YouTube channel (http://bit.ly/darksideofmonogame)
Here’s a few more links you might find interesting:
- MonoGame on the Xbox One? It's coming soon... (Yes, really)
- File - New - MonoGame
- MonoGame says goodbye to XNA (and that's a great thing)
- MonoGame - Write Once, Play Everywhere
- XNA and a Windows 8 Store game? MonoGame!
- Windows Store 8 Game, MonoGame, SignalR and more
- MonoGame for Windows 8 tutorial and ton's of new samples too
- MonoGame, F# and Santa!
Follow @CH9
Follow @coding4fun
Follow @gduncan411
