Announcing XBuilder, a free & open source content viewer for XNA 4.0 integrated with Visual Studio 2010

Following two changes of name, I am now calling this project XBuilder. Why the change(s) of name? Well, I remembered the XNA Magic / Blade3D name change, and I didn't want to get into any legal trouble, especially since this is a non-money-making piece of software.

It's rather a grandiose name for something that boils down to a single tool window - but I have plans for a v0.2...

The TL;DR version

I plan to make it available online through Extension Manager, but I'd rather get some feedback first and make sure it's stable before I do that.

Screenshots

Everybody likes screenshots, so here's a few.

There are two ways to open the Content Preview window. The first is the traditional View / Other Windows / Content Preview menu item:

image

The second is a context menu item on supported file formats (more on that later):

image

After clicking Preview on a model, the model will load:

image

You can change it to wireframe:

image

You can rotate it by dragging your mouse inside the window (on second thoughts you don't need a screenshot of that).

If the content importer or processor throws an error for any reason, it will appear in the Output window:

image

Finally, it comes with an options page, which lets you configure the file extensions you want to activate the "Preview" context menu for. At the moment, XBuilder is not able to work out which files can be processed with the XNA Content Pipeline, so you need to tell it here. By default it will support the file types that XNA supports, but if you have your own importers you can include those file types here.

image

System requirements

Unfortunately 3rd party Visual Studio extensions don't work with Visual Studio Express editions. So you'll need a full-blown edition of Visual Studio (I'm actually not sure if Standard will work - perhaps somebody who has Standard can let me know).

You'll need XNA 4.0 installed.

The future

There's a lot that could be done with this - and I have specific plans for a v0.2. Whether I actually build v0.2 depends very much on the response to this first release - I'm quite curious whether this tool will be useful for other people. If not, at least I had fun building it!

I learnt quite a bit about Visual Studio extensibility while building XBuilder, so if there's any interest, I could write a blog post or two about my experiences and the stumbling blocks I hit.

So, go download it, have a play, and let me know what you think by leaving a comment. Actual bugs would be better on the issues page.

4 comments

Gravatar MadoxLabs
Nov 27, 2010
20:11

Hey - glad to see this released. It helped me find one mesh problem already involving bad normals. Here is a few suggestions:

  • indicate where (0,0,0) is somehow. This would help remind me how transform apply to the object.
  • Make previewing easier/quicker like middle button or something.
  • Display animations using a dropdown selector. I expect this to be tricky with many fbx exporters not natively supporting multiple animations, and you'd have no way to know how to chop up the timeline, but anything is better than nothing. I havnt used anything but fbx with XNA, so I cant speak about other formats.
Gravatar David Lively
Nov 30, 2010
05:39

Very, very cool and useful.

I'd like to be able to apply shaders to the model preview or, conversely, be able to preview shaders in the content library on a sphere, teapot or what have you. A lot of this is already available in FX Composer, but it's really convenient to be able to see everything within Visual Studio. Great work!

Gravatar Tim Jones
Dec 1, 2010
07:28

`MadoxLabs

  1. In the latest version of the code (not yet released, but there's a preview here, the grid shows where (0,0,0) is by means of an axis colour.

  2. That's a good idea - I'd rather not mess with the mouse buttons, but I can add a keyboard shortcut for the preview window. I've logged an issue for this.

  3. Animations... I'll be honest and say I've never worked with animations before. I'm going to try to incorporate the SkinnedModel sample from App Hub, and then see where I can go from there. I'm hoping to avoid using a custom ModelProcessor - I'd like to do as little "magic" as possible, so that what you see in the preview is as-near-as-possible what you'll see in your game (WYPIWYG?).

`David - Thank you, and yes - this is coming!

Gravatar hooher tod
Sep 4, 2011
00:14

Yes there should realize the reader to RSS my feed to RSS commentary, quite simply

Make a comment

Sorry, commenting has been temporary disabled because of spam. If you have any questions, you can email me, and you can also find me on Twitter.