Video summary

Achieving Realistic Visual Styles in UEFN I State of Unreal 2024

Main summary

Key takeaways

Technology

Overview

This State of Unreal 2024 session (technical animation + environment + product pipeline) explains how Epic’s internal Talisman project achieved more realistic visual styles in UEFN by bringing MetaHumans and high-end simulated clothing/environment detail into UEFN’s strict upload/download and runtime memory/performance limits.


What they covered (key tech concepts & features)

1) MetaHumans in UEFN: feasibility + size/performance strategy

UEFN constraints

  • Max island upload size: ~2 GB
  • Max download size: ~400 MB
  • A typical Unreal MetaHuman “cook” size (~800 MB) would be too large for UEFN, so they had to “get creative” while maintaining fidelity.

Core result

  • Demonstrated a 1:1 visual comparison approach between Unreal MetaHumans and UEFN MetaHumans.
  • Reported ~93% size reduction:
    • Unreal MetaHuman cook: ~800 MB
    • UEFN MetaHuman cook: ~60 MB

Noted differences (when comparing closely):

  • “peach fuzz” removed
  • some micro-details (wrinkles/freckles) are softer
  • overall facial detail slightly reduced, but “hard to tell” at a distance

Quality tier options

3 downloadable quality levels with differing mesh LOD counts:

  • High: 4 LODs
  • Medium: 3 LODs
  • Low: 2 LODs

Medium/Low are described as stripped-down versions derived from High, not 1:1 remaps.


2) UEFN-specific MetaHuman component + missing-functionality fixes

They introduced/added UEFN-side support so MetaHumans behave correctly inside Fortnite/UEFN:

  • New UEFN-centric actor component: “Metahuman component”

    • Central place to tune visual quality + performance
    • Supports custom control rigs / physics assets for secondary animation
  • NPC integration

    • MetaHumans work with the NPC device
    • Includes starter NPC animations, while still allowing custom animations
  • LOD sync

    • Added an L sync component to keep head/body LOD alignment (neck seam correctness)
  • Groom + runtime compute

    • Groom assets enabled
    • Ability to recompute tangents at runtime on PC/higher-end to improve deformation quality
  • Skinning / influence options

    • Per-vertex bone influence increased from default 8 to optional 12
  • Clothing support mention

    • Panel-based clothing noted (expanded later in the clothing pipeline portion)

3) How they process assets for UEFN (Unreal vs UEFN pipeline)

  • Unreal approach: you can cook assets as you like (more control over end-to-end).
  • UEFN approach: Epic chose to pre-process assets with fewer decisions for creators.

Key constraints they did not change

  • No geometry changes (they wanted existing meshes)
  • Preserve rigs/skeletal hierarchy for ecosystem compatibility

Four main optimization levers

  1. Reduce mesh LODs
  2. Animation compute improvements
  3. Groom reductions
  4. Texture + material optimizations

Emphasis on biggest contributors:

  • Texture optimization: biggest overall size impact (per their relative chart)
  • Grooms: next biggest
  • Animation: largest range depending on configuration

4) Animation options inside UEFN (how to animate MetaHumans)

They described three practical animation paths:

  1. Sequencer device + Control Rig
    • UEFN supports Control Rig; animate inside engine
  2. Animation sequence playback
    • On body skeletal mesh (imported anims / mocap / keyframe sequences)
  3. NPC spawner device
    • MetaHumans compatible
    • Provides default locomotion anims, with Verse + custom animation options

5) Groom (hair) optimizations for UEFN

  • Strand auto-LOD behavior based on screen coverage
  • Trim simulation/render workload via adaptive curves
  • Faster shadow + ray tracing optimizations
  • Texture reductions:
    • Hair cards packed into compact texture layouts (with specified channel packing)
  • Cook size reduction: reported ~50% for cooked groom size

Groom choice strongly impacts total MetaHuman size.


6) Simulated clothing in UE 5.4 → USD pipeline → Unreal + UEFN (Early Access)

CL / Marvelous Designer / USD integration

They partnered with:

  • Clo Virtual Fashion (CL)
  • Marvelous Designer

to use USD as a cross-tool garment workflow so clothing parameters/panels can transfer rather than exporting only a “lookalike mesh.”


New clothing pipeline (5.4) in practice

  • USD export from Marvelous Designer
  • USD import in Unreal to generate:

    • Simulation mesh: low-res, simulated
    • Render mesh: high-res, displayed; driven by sim mesh
  • Cloth panel graph + autogen graph

    • Autogenerated setup graph when creating a cloth asset
    • Supports USD import note node + simulation value transfer nodes + physics asset node + starting parameters
  • Transfer simulation properties
    • Fabric selections + simulation settings can influence behavior after USD import

Cloth panel editor (UE 5.3+): the main areas

  • Panel viewer
    • 2D/3D, selection, painting weight maps
  • Simulation viewer
    • Play sim / visual debug; swap sim/render meshes
  • Simulation details panel
    • Settings + preview/debug visualization
  • Data flow graph
    • Node-based authoring similar to blueprints

Key nodes/features highlighted

  • Transfer skin weights node

    • Uses USD-imported mesh + a user-defined skeleton mesh to create weighted clothing mesh suitable for cloth solver
    • Designed to avoid manual rigging/weighting in external DCCs
  • Remesh node

    • Auto-generates lower-res sim meshes (and optionally render meshes) for LODs

UEFN migration

  • Cloth assets can be migrated to UEFN
  • In UEFN, they’ll work by adding a Chaos cloth component and selecting the cloth asset

Migration notes:

  • Cloth asset is essential; physics asset/materials optionally migrate depending on needs.

Performance expectations

Example goal for Talisman-style closeups:

  • Target: ~30 FPS on high-end for high-quality simulation closeups
  • Lower L simulations: ~50–60 FPS

Performance depends on:

  • simulated vertices
  • self-collision
  • solver iterations

7) Environment (Talisman spaceship) creation under UEFN budget constraints

They explain how to build a “huge, highly detailed spaceship” despite tight UEFN memory/download limits.

Budget framing

  • Environment target: only ~200 MB for the entire spaceship environment
    • Remaining budget must cover MetaHumans, audio, VFX, gameplay devices, etc.
  • Compared to last year’s “Electric Dreams” jungle:
    • That demo’s single high-poly variation was ~350 MB, exceeding the whole budget

Modeling/budget best practices

  • Mid-poly meshes + face-weighted normals
    • Avoid baking expensive normal-map workflows from extreme high-poly sources
  • Modular kits
    • Reuse repeated kit pieces for rooms/props
    • Avoid single-use one-off models
  • Blueprint actors
    • Manage kit-based repetition instead of huge actor counts

The biggest constraint: textures

They avoided unique textures wherever possible and used a fully procedural/scalable material framework:

  • Vertex color data as “mask authoring”:
    • AO in one channel
    • curvature/convex-concave in another
    • mesh/component ID map in another
  • World-aligned tiling with a master material:
    • surfaces: metals, painted metal, plastics, rubbers, textiles
    • wear layers: scratches, scuffs, grime/dust/tarnish, etc.
  • Texture arrays supported in UEFN to keep consistent tiling independent of mesh scale/orientation
  • Distance-field ambient occlusion layered on top of mesh AO for cohesion
  • Custom primitive data supported in UEFN:
    • actor-local overrides to reduce unique materials (and draw-call/material variety pressure)
  • Mesh decals heavily used:
    • add panel seams/screws/surface detail without expensive unique textures
  • Optimized atlas projection + parallax/occlusion function mentioned (memory-friendly detail)

Lighting optimization (Lumen in UEFN)

To hit performance targets:

  • Prefer emissive planes + non-shadow-casting lights
  • Turn off Cast Shadows for meshes not affected by direct lights (reduce shadow depth cost)
  • Fake overhead light shadows using light functions (stripe textures) instead of real shadows
  • Reduce Lumen flicker:
    • lower emissive intensity
    • complement emissive planes with small-radius spotlights
  • Use:
    • min/max draw distance on lights
    • Alt+7 light complexity view to reduce light overlap

Memory management under the 100K “thermometer”

World Partition helped but didn’t fit because:

  • corridors require visibility without popping
  • the ship has strong vertical overlap (rooms stacked in Z)

Solution: manual streaming via Data Layers

  • Separate each room into its own data layer
  • Split large rooms into sub-layers
  • Use cinematic sequence devices with staggered loading/unloading
  • Trigger transitions in locations hidden from the player (mutator zones)
  • Accept some incremental popping, but hide it with level design

Main speakers / sources

  • Jared Monson — Technical Animator (MetaHumans/character technology)
  • Brian Kim — Product Manager, Marvelous Designer (Clo Virtual Fashion)
  • Saga — Senior Environment Artist, Epic Games
  • Jacob — Environment Artist, Epic Games

Original video