Metahuman skeletal mesh merge loosing DNA

Hi,

I’m running into an issue with MetaHumans DNA and the Skeletal Mesh Merge system, and I’m wondering if there is a solution for this specific problem.

We are using a custom modular character blueprint that uses multiple skeletal meshes to build the character and then performs a skeletal merge to compact them into one component for the body, face is still in a separate component.

However, when I merge the character’s skeletal meshes together using Skeletal Merging plugins, the resulting skeletal mesh becomes a new transient mesh. During this process, the DNA association appears to be lost. This merge is at runtime; it’s not possible to serialize the mesh.

I haven’t found a way to reapply the DNA at runtime, and post-process body animation no longer works on the merged character.

Since the object is transient, there is no way to reapply DNA in the editor using current MetaHuman tools.

Is it possible to:

  • Preserve the DNA asset during Skeletal Mesh Merge?
  • Reattach DNA to a merged transient skeletal mesh at runtime?

I’m using Skeletal Mesh Merge to reduce component count and improve performance, but losing DNA support is currently blocking that approach without losing animation quality.

An easy way to see if post-process body animation works is by rotating the hand and look at the twist.

You can repro with the project in the attached files.

Repro steps:

  • Open the Map.
  • Open the level sequence.
  • The hand is twisted with RBF on the BP (everything is good).
  • Play simulate.
  • The hand is twisted WITHOUT RBF (because the mesh is merged at BeginPlay).

Any help would be greatly appreciated!

Thank you!

Soren

[Attachment Removed]

Hi Soren,

Unfortunately, merging of DNA data just isn’t supported in the engine at the moment. This comes up occasionally in relation to the skeletal mesh merge API you mentioned, as well as the implementation used within Mutable to perform merging. Essentially, there’s a direct mapping between the DNA asset and the mesh that it was created against, and anything that modifies the mesh invalidates the DNA. The only support that we have for updating DNA data at the moment is via the DNACalib2 library that’s available with the MetaHuman for Maya plugin, but that’s an offline process, so it doesn’t meet your needs.

The MH team are aware that there have been various requests in this area, so it is on their radar. But I don’t have any information in terms of a timeline for when merging of DNA might be supported in the future.

Thanks,

Euan

[Attachment Removed]