360’s content pipeline gives me a headach!
Oh man, I’ve spent the last week learning the ins and the outs of the Content Pipeline, trying to write readers / importers / writers / data types etc, to the content pipeline… and it was all going well, until i hit F5 :( Damn thing wouldn’t build!
Creators Club msgboard and a few friends who know their way in and out of the 360 helped out a TON with my persuit of knowledge. I don’t know all, or even half, of what goes into the content pipeline programming.. but at least i know “WHY” its doing what it does.
So I’m back on track now, we’ll see if this set me back enough to where I’ll miss the dream build play deadline, but I hope not. And for all of you folks who are looking into the content pipeline for the 360, remember these fun facts that will save you a TON of headach if you don’t already know how to write your own custom readers / writers;
1) The ContentReaders should be placed in the same project as your class you’re reading, preferibly at the bottom of your class.cs file.
2) Content writers need to be in a ContentProcessor project file, and they will be created at build time (not run time) so make sure that any classes you’re referencing, either make a copy and put them into that project (IE: Player.cs from your main game, make a copy, and put it into your Content Extention project file with the name PlayerContent.cs so you don’t confuse the two) or do what I did and have a shared project “Data” stash.
3) HOWEVER, if you DO do what i did, remember that the 360 and windows needs their OWN VERSION since they’re different assemblies. This gave me the most headach :( So my solution now needs 4 projects; 360 game project, 360 data project, windows data project, content pipeline extention project.. Oi, pass the advil!
Thanks go out to Stephen and the whole crew that helped me through, and a BIG thanks to RomSteady and Mittense at shacknews.com … couldn’t do it without you guys :)
Next up, working on releasing a demo!