Custrom Content Pipeline

hello i have my old game zombies night out for windows phone and I whant to convert to ios and android

the problem
I have a homemade model processor and collision pileple back from XNA phone 7.
how do I add these to my monogame project meneing 3d models with a custom processor

thanks
Michael

Are they XNBs?

You should provide more detail, such as do you have the original models, project, etc.

Hello Flipster,

In your project there is a file called /Content/Content.mgcb
This is like the Content.contentproj

About the format of this file see ‘Response File’ in this link:
http://www.monogame.net/documentation/?page=MGCB

You can edit it using Pipeline.exe which comes with the MonoGameSetup.exe SDK.
http://www.monogame.net/documentation/?page=adding_content
I think it has an option to import .contentproj but never used it.

The idea is to have your assets inside /MyProject/Content/
but I assume you already have your assets in /MyProjectContent/
If you want to keep your assets separate and not duplicate them you could add them as links in .mgcb,
personally I’ve never done that.

What I did instead was to move the .mgcb file in the content folder.
/MyProject/Content/Content.MGCB -> /MyProjectContent/Content.Android.MGCB
and edit my project MyProject.Android.csproj to add the .mgcb as a link like this:

<MonoGameContentReference Include="..\MyProjectContent\Content.Android.mgcb">
  <Link>Content\Content.Android.mgcb</Link>
</MonoGameContentReference>

You can add custom importers/Processors in the .mgcb using /reference:<assembly_path>
You can use the Pipeline.EXE UI tool to do that.

You’d probably need to recompile those for MG, In theory they would work as they are but anyways…
Create a new C# Library project and your .cs files and a reference to the portable version of MonoGame.Framework.Content.Pipeline.dll and if needed to the portable MonoGame.Framework.dll
In most of my projects I am still using the initial portable library 3.2.99.1-Beta from nuget, however there is now an official latest release if you want to try those.


Make sure to change the ‘Copy Local’ to false (<Private>False</Private> in the .csproj).

If your library is using 3rd party libraries or reference any other of your libraries the build will fail, it’s a bug in MG 3.7.1. Use the latest Develop build (also try to keep a working/stable MonoGameSetup.exe around because develop builds ofter comes with new bugs from time to time).

1 Like

tanks nkast for all the help now the game is running at least the menu

I have figure it out with the content pileline with a new SUPERLOADER of items and 3d mesh, textures

and so on
tanks
Michael

1 Like

The assemblies which define your content pipeline extension types, ie. a custom processor of some sort … need to be added as references to your mgcb, which can be done within the pipeline tool.

The assemblies added as references need to be built against MonoGame.Windows, specifically, to be loaded and used by the pipeline tool. If your content pipeline extension types are built against xna, or anything else, the pipeline tool will fail to load them and will not show your custom processors in the gui.