Add mesh variations with mesh morphs

What is the HowTo about?

In this page, we are going to explain how to create variations with mesh morphs. Starting from a basic character, we’ll add different nose shapes from Morph Targets and we’ll be editing the base Material.

What assets are needed?

All the assets from the basic customizable character HowTo.

At least one Morph Target in the Skeletal Mesh.

Texture variations from the morphed part and a texture that Masks that part.

The object of this example can be found as "Bandit_NoseVariations" in MutableExamples/Bandit/CustomObjects/HowToExamples


1 - In order to have the variations as choosable options, create a Group and then a Child Object for each morph variation.

We’ve chosen “One or none” option in the Group node properties and called our first Child Object “Strong”.

2 - Linked to the Child Object, create a Morph Material node. Select the Parent Material and the Morph Target.

This node will take the mesh from the Parent Material and apply the selected Morph Target.

If the morph variation doesn’t require any texture adaptation, that’s it, there is now a choosable Child Object that applies the morph to the Customizable Object. But let’s discover Edit Material node in case some texture variations are also needed.

3 - Linked to the Child Object, create an Edit Material node. In the node properties, select the Parent Material and then the blocks in the Material you want to modify.

Automatically, the node will refresh with all the Parent Material parameters and its respective masks connections. This allows to modify each texture parameter within the masked parts.

4 - Create, import and connect the new textues to the Edit Material node.

In our case, we just changed the normal map of the nose, so a variation for the normal map and a mask texture are connected to the Edit Material node.

5 - Save and Compile.


You can now select the variation as a Child Object in the Preview Inst. Properties.

More variations can be added as other Child Objects either inside the Parent object or in a separated object.

Adding variations in separated objects

The object of this example can be found as "Bandit_NoseSmall" in MutableExamples/Bandit/CustomObjects/HowToExamples/ChildObjects