Making Objects Recolorable

Some items are meant to be recolorable but the original creator probably just forgot a small step when making it.  Most of the time it’s as simple as the wrong GUID in the MMAT. Sometimes it’s missing a field called tsDesignModeEnabled, which is what gives you the recolorable part.  Sometimes it’s a Fix Integrity.  Most of these tips are designed for quick fixes for meshes.  If your creating a mesh from scratch you want to be sure to have the latest CEP installed and clone an object that is recolorable as listed in the CEP documentation.

Fix Integrity

This will make sure all TGI’s are linked properly for all resources.  You will want to do this for new packages you have created.

Tools / Object Tools / Fix Integrity

Wrong GUID in MMAT

This should be the first step to fixing the recolorability of the item if the MMAT is present.  Then check in game before moving on.  As you understand more what your doing you will be able to check both places very quickly.

1. Open package of non-recolorable item – remember that some items still really are unrecolorable but this is probably not the case. If you know what it was cloned from it can be looked up in the CEP documentation.

2. Look to see if there is a MMAT – if not then the object is not recolorable and requires a much more in depth fix.  Please see the tutorial about adding subsets by IgnorantBliss.

3. Select the main Objects Data (OBJD) – This is going to have the shortest name with no letters/numbers after it. If there all the same, again this requires more in depth to find the main one.

4. Look at the GUID (right next to where the blue box says get GUID – do not click!), make note of it.

5. Select the Material OVerride (MMAT) – Look at the line objectGUID, it should match that from the OBJD. If not…

6. Go back to main OBJD – tick box under GUID that says update all MMATs, click update, commit, save. Only do this on the main one!


Missing tsDesignModeEnabled

This happens if the items was cloned without CEP installed or installed incorrectly.

1. Open the non-recolorable package

2. Select the Geometric Node (GMND)  If the line tsDesignModeEnabled is not there, we need to add it.

3. Select the cOjbectGraphNode tab, on right under Datalist Extension Reference select add. Change Enabled: 0x00 to Enabled: 0x01 and Index to one number higher than the ones listed. This corresponds with the number of blocks in the package and must be the same or the game crashes.

4. Select the Edit Blocks tab. In drop down menu select cDataListExtension, click Add

5. Select Content tab, in Blocklist drop down list select the newly added cDataListExtension (this will have the same number as what you added in step 3)

6. In Name box type tsDesignModeEnabled, on right select Add right below the Array (you want an array). In the Items box you will see the added array. Select it, on the right under name paste the subset name (curtain).

7. Commit and save

Verify Subset Names

This can happen when subsets are added or the names are changed, or when importing your mesh with a different name.

Check the following resources to verify all subset names match: SHPE, GMND, GMDC, MMAT, TXMT.

  • SHPE – Subset name and Material Definition name (TXMT)
  • GMND – Subset name in the tsDesignModeEnabled
  • GMDC – Mesh subsets
  • MMAT – subsetName (see pic in step #5)
  • TXMT – cMaterialDefinition and FileList