Mutable import table row

We’re setting up gear using mutable. Stuff like iron helmet, frost breastplate, speed boots, etc. And we have character models selected by gender and species. Any character can wear any piece of gear. For each combination of gender and species, the gear will have a different mesh.

We’ve got a big, unwieldy solution that requires a lot of clicking to set up. It’s barely manageable, but definitely points towards a need for a better solution in order to scale.

[Image Removed]

And we’re discussing an additional feature that makes this completely unworkable. We’re exploring making each piece of gear capable of having color-swap tiers, with a different texture per-tier. This makes our graph for each gear piece just enormous.

[Image Removed]

A better solution would be if each gear piece could just read from a DataTable. Our DCC could output one row for each combination. e.g. “Human_Female_Tier1”, “Elf_Male_Tier2”, etc. Then, we’d construct the row name (as an Enum) and export it. Thus, the gear piece would just import the row name, pass it to the data table, and retrieve all the data. This would change each piece of gear from about 72 nodes that need to have their parameters carefully set by hand, to 3 nodes, with just a DataTable to swap.

Table nodes currently don’t accept any inputs. And if you name multiple tables in different CustomizableObjects with the same name, they don’t share row selections.

Is there any effort to allow Table nodes to import/share row selections across CustomizableObject assets? If not, any tips about how to navigate the mutable code to implement it ourselves?

[Attachment Removed]

Hello Bill!

We are planning to add some type of communication between table nodes. Table nodes will have two new pins to import and export its enum parameter which should fix your issue. This feature is scheduled for UE 5.7. I will link this issue to our Jira task so, once the new feature has been implemented, I can post the corresponding GitHub link here.

Meanwhile I can give you some workarounds to reduce the amount of nodes:

Combine Table Nodes and Switch Nodes. The output of a table node can be linked to a switch node.

Mutable Macros. We released them as experimental in UE 5.6 and you can expect some bugs (most of them are already fixed in UE 5.7).

(Optional) You can use Child Nodes to create groups inside a CO using Group Nodes. Group Object will automatically generate a parameter using the child nodes as options. https://dev.epicgames.com/documentation/en\-us/unreal\-engine/mutable\-overview\-in\-unreal\-engine?application\_version\=5\.5\#object\-hierarchy

Here you have some examples of graphs applying the workarounds:

Combination of Table and Switch Nodes:

[Image Removed]Using Mutable Macros:

[Image Removed]With Macro:

[Image Removed]

[Attachment Removed]

Hello Phil!

Unfortunatelly, due to some plan changes, we haven’t been able to implement this feature yet. However, we’ve been working on something new that may better suit your needs.

We’ve been implementing dataless nodes: Skeletal Mesh Parameter and Material Parameter. These two nodes (plus the already existing Texture Parameter node) will allow you to select skeletal meshes, materials and textures directly from UE assets. With some implementation on your side, these assets can be within a Data Table or multiple Data Tables. Additionally, these types of nodes are converted to mutable format at runtime, which reduce package size and improves CO compilation times.

We’ve also been working on new material nodes:

  • Common-type nodes: Material Constant, Material Swtich and Material Variation.
  • Break Material: Allows to get Material Parameters from a Material Source Node.
  • Modify Material: Allows to modify Material Parameters from a Material Source Node.

The graph would look like this (Skeletal mesh parameter --ignore the example pins-- + Material Parameter):

[Image Removed]

If you want to use a single material:

[Image Removed]

These new feature are already in the UE5 Main branch and are expected to be released in UE 5.8.

Let me know what do you think about this new suggestion.

[Attachment Removed]

Perfect!

I will close this ticket for now. Please don’t hesitate to open a new one if you have any further questions.

[Attachment Removed]

Thanks Max! I appreciate the information. We’ll see what we can do in the meantime, and look forward to a real solution in 5.7.

[Attachment Removed]

Hi Max -

Is there an update on the table node improvements? I don’t see it in 5.7, but perhaps I’m looking in the wrong place.

[Attachment Removed]

Thanks for the update! I’ll keep an eye out for 5.8 to mess around with it, though that seems promising for our use case.

[Attachment Removed]