Online MGCB Build for M1/M2 Mac Users

For anyone using an M1/M2 mac and having issue with opening the MGCB Editor and/or building content due to the current incompatibility issues, I’ve created an online content builder that you can use to build the XNB files.

https://mgcb.aristurtle.net

It does have it’s limits though. For instance, it is only setup to build the content type that the MGCB builds out-of-the-box. This means that any third party content types that would require a dll reference in the MGCB Editor are a no go.

How to Use

!. Select the content type you would like to build. For instance, the texture importer

  1. Select the file and adjust the processing parameters just like you would in the MGCB Editor

  1. Click the Build XNB button, wait a moment, and the .xnb file will be downloaded.

Using in your project

To use content xnb files like this in your project that are built form a different system than your own, you’ll need to adjust your .csproj.

  1. Open your game .csproj and remove the MonoGame.Content.Builder.Task NuGet
  2. Add the following to your .csproj file
<ItemGroup>
    <None Include="./Content/**/*.xnb" CopyToOutputDirectory="PreserveNewest" />
</ItemGroup>
  1. Add all .xnb files that you build through the website to your Content directory in your project. You can organize them within sub directories as well inside the Content directory.

By removing the NuGet file, it will no longer attempt to build content each time you build or run your game project, which is resulting in the failure you get because of the M1/M2 incompatibility. Next, the XML we added to the .csproj file tells it to copy all .xnb files from the Content directory to your project build directory, so you’ll have the content files on build like normal.

How does this work

When you use this to build a content file, your file is temporaraly uploaded to my server where the dotnet mgcb tool is then used to build your content .xnb file. Once the file is built, both your original content file and the xnb file are deleted from the server, nothing is saved.

You can view the source code for this at https://github.com/AristurtleDev/mgcb-online

4 Likes