Marvel Mods

XML and MUA - Common Items => Knowledge Base - (not for questions) => Tutorials => Topic started by: Kaiko on March 13, 2026, 12:54AM

Title: IGB_Blender Map Conversion Tutorial (XML2 / MUA)
Post by: Kaiko on March 13, 2026, 12:54AM
IGB_Blender Map Conversion Tutorial (XML2 / MUA)

This tutorial explains how to convert a map into a playable XML2 or Marvel Ultimate Alliance map using the IGB_Blender plugin.

In this example we convert a Doom Castle map from MFF, but the same process works for most maps.


Tutorial Video - https://www.youtube.com/watch?v=wtjmEbYA8W8
Requirements




Step 1 - Open Blender and Install the Plugin




Step 2 - Import the Map

Import the map you want to convert. In this tutorial we use a Doom Castle map from MFF.

After importing the map you may see objects called empties. These are not needed for this process.


Be careful not to delete mesh objects.



Step 3 - Fix Orientation and Scale

Most imported maps will not be correctly oriented or scaled.


A good way to judge scale is by importing another map from the game or importing a character model for comparison.



Step 4 - Clean the Map

Delete anything from the map that you do not want included.


Ctrl + A → Apply Transform




Step 4.5 - Material Setup

Before continuing it is recommended to convert all materials to the IGB material format.


This converts all scene materials so they are compatible with the IGB exporter.

After converting materials you can edit them using the Quick Tools section in the IGB tab.


It is usually best to do material setup before combining the mesh, but materials can also be edited later using Blender's Materials tab. The Materials tab also includes an IGB section for adjusting exporter settings.

It is also recommended to pack textures into the Blender file. This helps prevent missing textures if the project is moved to another computer.



Step 5 - Map Maker Setup

Open the Map Maker tab under the Scene panel.

Fill in the following fields:


You can also configure the party light tint. For testing a radius of around 10000 is recommended.



Step 6 - Place the Player Start

Click somewhere in the scene where you want the player to spawn.


This places the Player Start in the scene.

The X axis determines the direction the player will face.



Step 7 - Add an Extraction Point

You can add an Extraction Point manually, but the plugin provides a faster option.




Step 8 - Combine the Map Mesh

Before creating collision the map mesh should be combined.


This joins the meshes into one object.

This step is very important.



Step 9 - Create Collision

Generating collision from the full mesh is not recommended because it can create very large files and cause crashes.

Instead create simple collision manually.


This creates a collection used for collision meshes.

[li]Use Edit Mode to shape it</li>
[/li][/list]

Keep collision meshes simple.



Step 10 - Generate the NavMesh

Once collision is ready you can generate the navigation mesh.


Recommended settings:


Smaller cell sizes increase the number of navigation cells and may crash Blender on large maps.



Step 11 - Build the Map Files

In the Build section open Compile & Deploy and press:

Build All


This generates the required files:


Wait until the message
Build complete
appears.



Step 12 - Export the IGB

Open the IGB Tools tab and click Export IGB.

Navigate to the folder where the compiled files were created.

Example:

Maps/Kaiko/Doomcastle


Make sure the exported IGB file name matches the other map files.

Recommended settings:


Now export the IGB.



Step 13 - Load the Map in the Game

Open the file:

Scripts/menus/new_game.py


Comment out the intro commands and add:


loadMapChooseTeam("kaiko/raid_shibuya/raid_shibuya")


Example:


#startMovie("cine01","waitSignal")
#waitsignal("waitSignal")

loadMapChooseTeam("kaiko/raid_shibuya/raid_shibuya")




Step 14 - Launch the Game

Start the game and the map should load directly.

You should now be able to explore the converted map.



Common Problems

IGB write failed: ushort format requires 0 <= number <= 65535

This usually means the mesh data is too large.

Possible causes:


Try reducing polygon count or simplifying the mesh.

Map Size Limits

The Alchemy engine used by XML2 and MUA does not handle very large maps well.


Reducing geometry or texture sizes can help keep the map within limits.