The new 3.0 MetaHumans: 40% performance gains? Tutorial inside.

To round out the optimization journey, I recreated the UEFN exclusive Metahuman Blueprint Component, with more features. This function I made, inside a default Metahuman Blueprint, allows me to toggle corrective bones @ runtime:

Based on the settings in the picture above, my arm corrective bones will be enabled for LOD 0-1, but not 2-3. (The body has LOD keys: 0/1/1/1/2/2/3/3 in my LODSync Blueprint Component. My preferred setup.)

You can customize this further if you want. Toggle individual fingers, right wrist, left elbow, right ankle, right shoulder, left clavicle, etc. This doesnā€™t enable faster frame time compared to simply disabling everything. But it allows for customization; more ā€œhave your cake and eat it tooā€ scenarios.

For example, when my character is out of combat, the correctives are turned off. But when they draw their sword, the right elbow, shoulder and wrist correctives turn on & the left elbow correctives turn on. This lets my sword arm look good while the shield arm is curled up not being used as much.

:white_check_mark: Iā€™m done with my Metahuman performance deep dive at this point. Just tweaking settings to my personal taste before sharing all info. Keep in mind, this LOD stuff is just 1 piece of the puzzle. Iā€™m so excited to show you the cool tools and solutions I found. Iā€™ll release a YouTube video before Monday, May 27th detailing the various ways you can optimize your Skel Mesh. Using the Metahuman as an example! :wink:

All solutions are 100% in engine.
Some solutions require UE 5.3+ features and/or UE 5.0+ plugins.
Back alley solutions, such as deleting bones in Blender or Maya, can now be done entirely in Unreal Engine.

Stay tuned!

Edit: shortly after posting this, something personal happened that will keep me away from my computer for a good 2 weeks. Youtube video will be delayed. If youā€™re dying for help optimizing your MetaHuman, hmu on discord, like whenever.

5 Likes

Thanks for your work and rundown on this optimization process. I have a question:
Why can we not send a UEFN (pre-optimized) metahuman to UE 5.3 or 5.4? Or can we?

Take your time! Thanks again for your incredible work.

1 Like

You canā€™t export from UEFN to UE, per the agreement.

But it wouldnā€™t matter because there is nothing unique about a Metahuman imported to UEFN vs UE5.

Working on a Learning guide for Skel Mesh optimization.

1 Like

Awesome, any ETA for when this will be ready?
Will it also include your research into MetaHuman optimization that your described in this thread?
Namely your UpdateCorrectiveBones BP node would be very interesting.

1 Like

Hello @Some any news on your video for optimizing the metahuman ? Iā€™ve been following your work since you started this thread and i canā€™t wait to try your solution on our project! Do you have a discord? I canā€™t find it

1 Like

Does merging the bones cancel the use of morph target or it is still a useable solution ?

Iā€™ve decided on a text-based Learning guide on the UE website instead of a video. More accessible, indexed better & easier to make. Iā€™m focusing the guide on in-engine Skeletal Mesh Optimization as a whole, with MetaHuman as an example. The guide will contain various solutions, ranging from easy to hard ease-of-use. Nothing too mind-blowing or groundbreaking, just a lot of different things compiled into one optimization orchestra. Irl aggro keeps me away from the computer, so no promises. Stay tuned. @some_7 on discord of you have questions.

2 Likes

Yes, but C++ users can ā€œcopy & pasteā€ them back. Iā€™m staying away from C++ solutions, but Iā€™m aware of whats possible & will make note for those interested in researching.

image

Here you go everyone!

4 Likes

Thanks for the detailed instructions! All the boxes are ticked. Nice work! Have you seen the talk about MetaHuman Optimization? https://www.youtube.com/watch?v=ygfgO2_WNm4

Yes! Iā€™m happy to see more info relating to textures & materials. I will learn from those portions of the video some day later.

Regarding any so-called UEFN exclusive optimization, listen carefully @ 31:55, ā€œā€¦but in UE you have the option to tweak these yourselfā€.

Modify the variables in the Post Process Anim BP from your MetaHuman Character BP by using a reference. This process is outlined in the guide above.

You should make a topic about material optimizations specifically. Iā€™d give you my 2c on it.
So would may others.

And on that - many, if not all marketplace assets are just really, really bad. This is mostly because they are thought of as Modular Player characters more often than notā€¦

A character which isnā€™t modular or ever going to change, should really never have more than 1 material slot, For instanceā€¦

Another thing that can easily be optimized is probably the Characterā€™s UVs.

Very likely also the amout of Textures used in full resolution to achieve clothing on them.

The problem is that in UFN you probably have 0 control over these.
And that MetaHumans probably also offer 0 control over theseā€¦

When you make your own custom character meshes keeping your ducks in a budgeted row becomes bery trivial in comparison :stuck_out_tongue_winking_eye:

1 Like

Thanks a lot @Some that has been helping me and my team a lot, great job congrats!

1 Like

Python script uploaded! :grin:

Direct link to guide section here.

Direct link to github here.

4 Likes

Great!, thanks for sharing your knowledge and making tutorial.

1 Like