Video summary

Unreal Engine 5.6 MetaHuman Crowd System - Chapter 2 - Create the Basic Blueprint

Main summary

Key takeaways

Technology

Summary of technological concepts & blueprint/tuto guidance (UE5.6 MetaHuman crowd)

This chapter walks through building a modular Unreal Engine Blueprint system to spawn/control a MetaHuman crowd where each character has randomized body, face, and groom components (hair, beard, mustache, eyebrows, eyelashes, fuzz). The author emphasizes that the blueprint is long but not conceptually difficult and is designed to be reused for different crowd types.


Core idea: modular Blueprint with arrays + indexing

Asset split into groups

Each MetaHuman is decomposed into separate asset groups:

  • Bodies (skeletal mesh variants)
  • Faces (skeletal mesh variants)
  • Groom (hair/beard/mustache/eyebrows/eyelashes/fuzz)

Blueprint Structure storing parts as arrays

A Blueprint Structure holds these parts as arrays:

  • bodies[] (skeletal meshes)
  • faces[] (skeletal meshes)
  • later additions include arrays for groom bindings for each face/body variant

Per-instance index: keep body/face consistent

A per-instance integer selects which MetaHuman variant to use:

  • MH index = random integer selecting the MetaHuman variant

The same index is used to pick matching body + face so the character parts stay consistent:

  • Randomly select an index from the variant arrays
  • Apply it in the Event Graph:
    • Set Skeletal Mesh Asset for body
    • Set Skeletal Mesh Asset for face

Important detail: Max - 1 for correct array indexing

The random integer range uses Max - 1 to stay aligned with array indexing starting at 0.


Practical workflow: asset organization & numbering

The tutorial repeatedly stresses folder structure and numerical naming to prevent ordering errors:

  • Create folders for bodies/faces/groom and copy the 7 variants of each asset type.
  • Rename every asset in strict numeric order starting at 0 (e.g., 0, 1, …).
  • Create groom-specific subfolders (e.g., hair, beard, mustache, etc.) and also rename numerically.

Groom handling fix: groom binding assets (major focus)

After randomizing faces, the grooms can appear broken if bindings are not correct (the tutorial describes them as a “real disaster”).

Solution: create relative groom binding assets

For each groom type (starting with hair):

  1. Use “Create Binding” for each groom asset variant.
  2. Set binding target skeletal mesh to the face variant chosen by the crowd system.
  3. Set binding source to the original face that the groom was made for.
  4. Create multiple binding assets so each combination is consistent, e.g.:
    • hair binding for hair 0..6 targeting face 0..6

Store bindings in arrays for the Blueprint system

Conceptually, the blueprint stores bindings like:

  • hairBinding[faceIndex][] (implemented as arrays keyed/indexed by face variant)

Numbering/ordering requirement for bindings

Binding assets must be named/ordered so the pairings remain correct:

  • 0 0 pairs with hair0 -> face0
  • 0 1 pairs with hair0 -> face1
  • 1 0 pairs with hair1 -> face0
  • etc.

Function implementation: assign hair based on two random selections

A key tutorial step is building a function (example shown for hair):

Function: assign hair

  1. Randomize:
    • MH index → selects which face/body variant the character uses (target face)
    • hair nd air (hair index selection) → selects which hair variant (source groom)
  2. Use Switch on Int driven by MH index to select the correct binding array:
    • e.g., hair bindings for face / MH index 3
  3. Select the binding element using the randomized hair index.
  4. Apply it to set the groom binding on the MetaHuman component.

Concept mapping stated in the subtitles

  • MH index = which MetaHuman face/body (e.g., 03)
  • hair index = which hair style (e.g., 01)
  • Switch chooses the binding array for face 03
  • Then selects binding hair 01 inside that array

Testing & debugging outcomes

Initial result after adding hair bindings

  • Random faces work properly.
  • Groom assignment may initially look wrong due to overlaying old/original grooms.

Fix: remove original grooms from the Blueprint

To resolve the overlay issue:

  • Delete original groom assets from the Blueprint
  • UE overlays them with the newly randomized grooms

Final result

  • After correction: “Everything works fine.”
  • Variability can be increased by adding rules such as a bald probability (example mentioned: 2 on 10, producing some bald characters).

Extending the same approach to other groom types

After hair, the tutorial repeats the same binding + array + assignment approach for:

  • beard
  • mustache
  • eyebrows
  • eyelashes
  • fuzz

For each groom type:

  • Create corresponding binding assets
  • Add corresponding binding arrays to the blueprint structure
  • Create functions (duplicated from assign hair) and update references
  • Test again after removing older grooms to ensure correct bindings display

Additional features referenced (final block of code segment)

The subtitles reference a broader blueprint capability set, including:

  • A system to randomize and assign basic MH assets, skeletal meshes, and groups
  • Mentions of a component/property workflow (subtitles unclear, but appears related to forcing some property on a sync/hello component)

Facial-feature helper logic

  • Eyebrows: “Every meta human to have high brows.”
  • Switch logic example for categories (subtitles imply beard-related combinations), using a random integer:
    • 0 = none
    • 1 = mustache only
    • 2 = beard only
    • 3 = beard + mustache

Optional toggles for performance/complexity

Boolean toggles mention skipping some groom complexity, including fast and eyelash options (with the suggestion that for performance-focused crowds—e.g., forest MetaHumans—some groom types may be unnecessary).


Tutorial outcome / next chapter teaser

  • The “longest and most boring part” (groom binding + blueprint setup) is complete.
  • The next steps (future chapter) will cover:
    • randomizing colors
    • randomizing clothes
    • adding accessories

The chapter ends by stating the next chapter will be about dressing up the MetaHuman crowd.


Main speaker/source(s)

  • Unreal Engine MetaHuman crowd tutorial creator (single primary instructor voice; referenced as “I” throughout).
  • Channel/series context: “Unreal Engine 5.6 MetaHuman Crowd System - Chapter 2”

Original video