Mutable Skeletal Mesh Component 5.8


Hi
can anyone explain to me how in to use the skeletal Mesh Component in 5.8?
It previously had a slot for inputting a LOD but that doesn’t seem to exist anymore.
I’m using it as part of a Custom Object in Mutable and I can’t progress with the tutorial I’m following as it’s based on the previous version. Or am I missing something?
Any help appreciated.
Cheers,

1 Like

Hey,
Not quite sure if this is the intended way now …but you can do this

Mesh Section → Skeletal Mesh Make → Skeletal Mesh Object Make → Skeletal Mesh Component

Cheers,

Hi Mark,

We are currently working on updating the Mutable Sample project to showcase the new workflows. For now, we have updated the documentation on GitHub and will be adding the updated tutorials soon.

The approach shared by @ReneB is the way to go.

Pere

3 Likes

Hi Rene,

Yes, this is the intended workflow. The goal is to more closely mirror the structure of an Actor, making it easier to understand what happens at each stage of the graph.
For example, Components can have Overlay and Override Materials that are independent of the Skeletal Mesh itself. As a result, these materials are added directly to the Skeletal Mesh Component node.

The Skeletal Mesh Object Make node converts a Mutable-generated mesh into a USkeletalMesh. Because of this, all geometry operations must be completed before reaching the Object Make node.

The Skeletal Mesh Make node, on the other hand, creates a Mutable Skeletal Mesh by combining mesh sections. We intentionally did not expose the LOD pins directly on the Skeletal Mesh Object Make node because there are several nodes designed to operate on Mutable Skeletal Meshes before they are converted into UObjects.
For instance, the output of the Skeletal Mesh Make node is still a Mutable Skeletal Mesh, allowing you to merge it with another Mutable Skeletal Mesh. Similarly, you can use a Skeletal Mesh Parameter node to convert an existing USkeletalMesh into a Mutable Skeletal Mesh and then merge it with the output of a Skeletal Mesh Make node before finally converting the result into a USkeletalMesh.

While this may initially appear more complex than necessary, we believe it gives users much greater flexibility in how they build and manipulate Skeletal Meshes within the graph.

As a side note, we’ve addressed quite a few issues with the new nodes since 5.8. Those fixes will be included in future release branches, so we appreciate your patience while they make their way downstream. :slight_smile:

Pere

1 Like

Hi @Pere.Rifa,

Thanks for taking the time to explain a little more about it!

Since I’m just starting to really dig deep into Mutable again, I’m sure I’ll have to read this a couple more times to fully understand how awesome it is. But I’m sure it will help a lot once I go down more modular roads in a couple of weeks.

And also a huge thank you to you and your team.

Having done character customization in the past without Mutable, I have to say it’s one of the shiny “new” Unreal features I’m most excited about, and I’m really glad to see how passionate you are about it.

As a bit of a side question, I’m also looking forward to Mutable for static meshes (for example modular environments and such). Is this somehow on the horizon?

Or, since the system handles crowds of modular animated characters so well, do you have any idea, based on your experience with the system, if it’s worth trying to use Mutable with skeletal meshes for huge modular environments?

As a quick example, let’s just imagine the Matrix Demo buildings were Mutable skeletal meshes. Would something like this be a very stupid thing to do? :sweat_smile:

Thanks @ReneB and @Pere.Rifa
I have that part of the process working now.
Looking forward to the updated tutorials. Will go over the github documentation for now.

Can I also ask - what replaces the node ‘Add to mesh component’?

For context I’m following this tutorial which was done in 5.5 (timestamp 08.25)

Cheers

It’s the Modifier → Skeletal Mesh Merge Node (there’s also the non-Modifier version). If you have time, play a little bit with Skeletal Mesh Parameters and Skeletal Mesh merge nodes.

1 Like

Thanks @Pere.Rifa
I was trying that node yesterday. This is my graph where I am trying to add an outfit to a base metahuman. But when i tick the box to enable the outfit i get an error.
Am i using the nodes in the correct order?
Thank you for your assistnace,
Regards,
Mark

This may be one of the bugs we fixed post 5.8. I’ll try to reproduce it to confirm it, and point you to the fix or a workaround.

1 Like

Thank you! I’m glad you’re excited about Mutable, and it’s great to hear that perspective from someone who’s worked with character customization systems before. I hope it lives up to your expectations.

While it wouldn’t be difficult to generate Static Meshes, that’s not something that’s likely to happen anytime soon. We’re a small team, after all, and there are other improvements and features we’d like to focus on first.

Or, since the system handles crowds of modular animated characters so well, do you have any idea, based on your experience with the system, if it’s worth trying to use Mutable with skeletal meshes for huge modular environments?
Something on the scale of the Matrix Demo may be too much for Mutable to handle efficiently. Keep in mind that generating meshes at runtime has an inherent cost, so it will never be as performant as simply streaming prebuilt assets from disk.

That said, you could use Mutable to generate modular blocks and then assemble those into a procedural environment. However, generating an entire city where every block is a unique mesh would certainly run into performance issues.

Is there any plan to provide a “light” implementation which outputs a traditional group of modular parts with one set as a pose leader component? Obviously this would miss out on the great bonuses of cooking all the parts down to one skele mesh.. but the work flow of defining body slots and such in Mutable would still be a vast improvement over the rat’s nest of conditionals and intertwined datatables in my current character creation setup. I’ve not even got into individual clothing pieces yet (just monolithic “oufits” + heads, multiplied 4 body types), so my mess is bound to get even messier with shoes appearing where a torso should be or something lol.

By “light”, do you mean using an existing/prebuilt SkeletalMesh? If so, that’s already possible. Skeletal Mesh parameters in Object mode (triangle pin) can be connected directly to a Skeletal Mesh Component node. This workflow doesn’t allow geometry operations, since it uses the original mesh, but it does support overriding materials through the component’s material overrides.

At the moment, only meshes provided through SkeletalMesh parameters can be used in Object mode, but we’re about to remove that limitation.

Note that having many animated components on each actor is likely to cause performance issues with high actor counts. If you ever reach that point, you may want to consider a hybrid approach, such as merging only cloth pieces and leaving the body and head in Object mode.

As for defining the component hierarchy within the graph, that’s something we plan to support in the near future.

Yes, by light, I meant just feeding raw premade body parts with the relevant clothing item already attached over to the actor. I spun up a sandbox project, but couldn’t quite figure out how to get the triangles onto an actor or how to change outfits in runtime without making instances for every actor. Admittedly, I only spent an hour or two on it and probably just missed some docs. And I probably could have just pooled the instances,

But, yea, a hybrid sounds like it might the way to go here. I was already planning to limit the potential parts to reduce draw calls and ration cloth assets to important characters. Probably only going to have a max of a dozen or so humanoids on screen at a time either way (and a few dogs or something, but they don’t need customization outside of maybe a MI swap at the actor level).