Support for table-driven reference skeletal meshes and DNAs

Our team is intending to use Mutable for generating skeletal meshes for characters but we are running into an issue with the setup we would like to maintain. We are using MetaHuman face and body skeletal meshes and layering clothing and accessories on top of them. Because of the number of head variations, we would like to use a Data Table to store all our head mesh variations. We are unable to do this because the ObjectNodeComponentMesh does not expose a pin for setting the Reference Skeletal Mesh. The same is true for the DNA Constant pin, where the source skeletal mesh cannot be set through the graph.

This is at the moment forcing us to make a Customizable Object per head that is just a copy-paste with Details panel changes on 2 nodes. It also means that all the network for attaching meshes to the head needs to exist in each of those Customizable Objects, because the Mesh Component is not otherwise available in the main Customizable Object (where the body is defined and the Head object is added as a child to it).

In an answer to another question in the community, it was suggested we use the Pose Mesh node with a Pose Asset, but that is not working as intended or as shown in the Unreal Fest Bali video (the use case is not quite the same).

Do you have any recommendations for making the system work as we would like it to (using the Data Table instead of the multiple Customizable Objects)?

Steps to Reproduce
The issue we are describing can easily be reproduced in the vanilla Mutable sample project for Unreal Engine 5.6. You only need to:

1. Download two MetaHuman characters (we used optimized high, high quality versions of the Bo and Asha presets).

2. Create a PoseAsset for the reference pose of each of their face meshes. I followed the demo in the Unreal Fest Bali video.

3. Create a Structure with 3 members: a skeletal mesh, a material and a pose asset (all soft object references).

4. Create a Data Table from that structure and fill it out with the data from the 2 MetaHuman characters (FaceMesh, face material for highest LOD, and pose assets from step 2).

5. Create a Customizable Object and fill it out with the following nodes:

[Image Removed]

a. The “Heads” table node must point to the Data Table from step 4. Set the default row to the first row name.

b. The Mesh Section node should be set to use the highest LOD face material for the default row in the table.

c. The Mesh Component node must be set to use the skeletal mesh from the default row.

d. The DNA Constant node must be set to use the same skeletal mesh.

When compiling the above Customizable Object and changing the Instance Parameter “Heads”, you will see a result similar to this:

[Image Removed]

If you instead connect the “Pose Mesh” node to the Mesh Section in the graph…

[Image Removed]

The result is the following:

[Image Removed]

Hey there,

Thanks for the suggestion. I’ve put a feature request into the team. Unfortunately, I don’t have a direct code workaround for you at the moment, but one thing you could try is utilizing the new Dataless assets from 5.7. They’re experimental, but the idea is that you don’t reference content directly in the customizable object; you instead pass through content to work on. This means that you could do some filtering ahead of time for your heads to handle making sure that the right head gets passed with the right DNA file.

Dustin