Just wanted to inform you what i’m currently working on.
It’s the Runtime Content Compiler (RCC) for MonoGame.Forms (suggested by @harry-cpp) . It’s a WIP but I thought it would be nice to share my current state and what decisions I made. So, let’s start!
Helper class or re-implementation?
I originally thought about how the implementation of this thingy would look like or rather what would be the best possible way of having the RCC integrated into the MonoGame.Forms library.
I started creating a simple helper class which interacted with the original MGCB and the PipelineManager from the MonoGame.Framework.Content.Pipeline namespace. It worked but I was not satisfied with it because a couple of reasons:
- It was a “Single-Task-Job” and you needed to wait till it’s finished.
- It was not customizable.
- It cluttered the output with MGCB binaries in every project - regardless if they use the RCC or not.
- [insert more issues here]
However, I rethought everything and came to the idea / conclusion that it would be way nicer to integrate the original MGCB class (BuildContent.cs), the PipelineManager (and adjacents) and re-implement it at least asynchronously and as a seperate project which can be installed per NuGet on demand.
This also has the advantage, that the RCC will have all the original features of the MGCB as well as its exception- and log system.
So, I decided to go that route and just created a small wrapper around it, which is easy to use by the end user and very practial in a MonoGameControl, but still works independently from the MonoGame.Forms library - yup, that sounds nice®.
The Prototype
I already created all the basics. Take a look:
I picked a bunch of .jpgs & .pngs and let the RCC do the rest. You don’t need to set importers or processors for regular content, because it will fallback to the default ones based on the extension of the raw content - thanks to the features of the original MGCB!
Basically you can do everything what is possible with the MGCB now and the content compilation happens asynchronously - that’s why I wanted to re-implement all the pieces.
The Release Date
I think during this week.
Still need to do a couple of things and general cleanup. The MonoGame.Forms version to be expected is 2.4.0, which is the next milestone (we are currently at 2.3.8).
See you then and have a nice day!
-Marcel | Sandbox Blizz
GitHub: https://github.com/sqrMin1/MonoGame.Forms
BTW: The Visual Studio templates went pretty well. In about 2 Months we received 2,477 installs
Thank you very much for your ongoing support!