Child Blueprint doesn't keep material override when parent is modified

Hello there,

I’m wondering how to reproduce the behaviour of Unity’s prefab overrides on the MetaHuman blueprint generated when assembling a MetaHuman character.

I tried using a Child Blueprint Class: if I rebuild the MetaHuman, some additional elements remain, such as cloth elements or additional skeletal meshes, but if I change the materials on the body skeletal mesh, it doesn’t keep my changes and reverts to the default materials of the newly generated MetaHuman.

What is the appropriate workflow for this kind of override?

Thanks

[Attachment Removed]

Steps to Reproduce
Generate a MetaHuman Character

Assemble it

Create a Child Blueprint of the resulting MetaHuman Blueprint

Change the material of the Body skeletal mesh

Re-Assemble the MetaHuman Character

Notice the material of the Body skeletal mesh

[Attachment Removed]

Hello [mention removed]​,

After reproducing your workflow, I can confirm that upon re-assembling the MetaHuman Character, Unreal recreates both the parent and child blueprint. Given that all character’s assets, including the parent BP with its parameters, get regenerated, materials in child BP inherit them and are also reset to default, so this behavior is expected.

To keep your material customizations, you should simply set them in the child BP’s Construction Script and your material changes will stay even after the parent blueprint gets regenerated.

In case you require more robust character customizations like swapping body parts, clothes, and materials with optimized performance, you might find the Mutable plugin useful.

https://dev.epicgames.com/documentation/en-us/unreal-engine/mutable-overview-in-unreal-engine

For your described scenario, though, it should be enough to just keep your child BP’s customizations in the Construction Script.

Let me know if this helps and don’t hesitate to ask if you need further assistance.

Best regards,

Tadas

[Attachment Removed]