30 Mar 2023

MetaHuman as Playable Character in UE5

Neko San
By Neko San Unreal Engine Developer

What’s the easiest way to use MetaHuman in Unreal Engine 5? How to make a playable character (Third Person Character)? In this article, I will show you an introduction to MetaHuman. We will see what MetaHuman Creator is, how to import a character via Quixel Bridge, how to make it a playable character and how to optimize it a bit. In short – I will show you how to achieve this effect in a few steps:

We will start with establishing a new project. For this we will use the Third Person template, from which we will “borrow” functionalities and character animations.

MetaHuman Creator

By creating an Epic Games account, we get access to the MetaHuman Creator. At the moment there are two versions available – for 4.27 and older and for UE5.

The editor works in the cloud: https://metahuman.unrealengine.com/ and we can easily handle it on weaker hardware. MetaHumans are saved automatically (just like google documents).

The tool itself is very intuitive. In the panel at the top, we can name our MetaHuman and possibly use the Undo / Redo buttons. On the left side we have an editing panel divided into three categories: face editing, hair editing and body editing. 3D Viewport has preview options (at the top we can choose, for example, the type of lighting, and at the bottom – preview animations). You can read more about it here.

OK, let’s start digging. We will start editing with the face. The primary tool is Blend. In the panel on the left we choose several characters from the MataHuman presets, and then in the viewport we mix specific face features between the selected MetaHumans.

Pic 1. Blend tool

In the Face category panel, we can also set the eyes color, skin tone or accents in the form of freckles and discoloration. An interesting tool is tooth editing.

With the Sculpt and Move tools, we are able to manipulate individual elements of the face. Here we can break the symmetry too:

Pic 2. Move and symmetry tool

Okay, now it’s time for hair. We do not sculpt the hair, we select it from the presets. Attention! not all of them are fully optimized (which means that after moving to UE5 you will have to mess around more :)), as we are told by the warning at the bottom of the screen. We can also change the color and amount of melanin in our hair.

Pic 3. Hair edit

Lastly – the body. We can edit the body as follows: first, the male or female type and posture, then the clothes (at the moment the wardrobe is not very large).

Pic 4. Body edit

The finished MetaHuman is automatically saved in our library.

You can learn more about MetaHuman Creator from the official documentation.

Quixel Bridge in Unreal Engine 5

Quixel Bridge is the Megascan viewer from Quixel (photogrammetric assets, ultra-realistic materials, etc.). It can be installed as a separate program, but in the case of UE5 it is another editor window (plugin). As in the case of MetaHumans, also here, if we have an Epic Games account, we get access to the full Megascan library. Using Bridge, we can download characters prepared in MetaHuman Creator for our project.

Pic 5. MetaHuman in Quixel Bridge

When adding our MetaHuman to the project, Unreal will inform us about the missing plugins and settings. We should turn them all on and then restart the editor.

Pic 6. You should enable all these plugins

Find out more about the Quixel Bridge in the documentation.

Playable Character Setup

Now let’s start the fun! I mentioned that we borrow some animations.

Luckily, the MetaHuman skeleton and the UE5 standard mannequin skeleton share the same bone structure. This means that we can easily retarget animations prepared for the UE5 skeleton to the MetaHuman skeleton.

In addition, MetaHuman blueprint class has a prepared retargeting script for the UE5 skeleton (using IK Rig and IK Retargeter).

Pic 7. UE5 Skeleton and MetaHuman Skeleton

So the first step is to reparent our MetaHuman Blueprint to Third Person Character Blueprint to get all the functionalities. Then we will attach our MetaHuman to the base mesh and we will reset the transforms. We turn on Live Retarget (here the magic happens – in short, it is a properly prepared Animation Blueprint using IK Retargeter):

Pic 8. Live Retarget

We hide the mannequin, remembering to set the appropriate animation refreshment (Always Tick Pose and Refresh Bones):

Pic 9. Hiding Mannequin

At this point, our MetaHuman accepts female animations. To change it, just set the appropriate Animation Blueprint and Skeletal Mesh for the main mesh:

Pic 10. Assigning appropriate AnimBP

Brilliant! However, it should be remembered that this is not an optimal solution, but it is definitely the fastest. One last thing. In GameMode we set our MetaHuman as the Default Pawn. After clicking Play, we can play as MetaHuman:

Pic 11. Playing as MetaHuman

UE4 Animations Retargeting

What if I have a rich collection of animations, but under the UE4 skeleton? It is so fantastic that we also have a ready-to-use IK Retargeter prepared for the UE4 skeleton.

It is enough to retarget the given animation to the UE5 skeleton by selecting IK Retarger (RTG_UE4Manny_UE5Manny):

Pic 12. Retargeting UE4 Anim to UE5 Skeleton

And then we will use it in MetaHuman:

Pic 13. Preview of shared animation

A bit of optimization

As we know – the MetaHuman model is “heavy”. Let’s see what we can do with it. This will be a quick optimization.

First, we’ll force LOD 1 as the lowest LOD – we don’t need MetaHuman in its most advanced version. For this purpose, we will use the LODSync component in the Blueprint of our character:

Pic 14. LODSync

In the next step, we will trim the textures. If we download MetaHuman in the highest quality, we will get a large dose of 8k and 4k textures. For our needs, we will bulk edit all textures of this character to a maximum size of 2k:

Pic 15. Quick textures optimization

It’s worth mentioning that MetaHuman can be exported outside of the engine. Then we can try to optimize the geometry or we can try to add more characteristics.

Neko San
By Neko San Unreal Engine Developer
SIRBart

Call The Knights!

    Table of contents