02 UE ‐ Emulated Materials (Step 1: What They Are and Why We Use Them) - CDDTreborn/Tekken-8-Resources GitHub Wiki

Emulated Materials (Step 1: What They Are and Why We Use Them)

This guide is written for people who are new to Unreal Engine.

If you are coming from other modding tools: Unreal “materials” are not just textures. They can include shader logic, functions, masks, tables, and editable parameters.


The Problem We’re Solving

In the base game, materials are already built and cooked. Modders usually do not have the original uncooked developer material assets to edit directly.

So we need a way to:

  • Make changes safely
  • Preview changes in Unreal Editor
  • Package changes into a mod

That is what emulated materials are for.


What “Emulated Materials” Means

Emulated materials are community-built recreations of the game’s material system inside our mod project.

They are designed to capture the parts modders actually need, such as:

  • Texture inputs (Base Color, Normal, etc.)
  • Supporting maps (RMA / MRA / TSE / etc., depending on the project)
  • Common scalar and color parameters
  • ID / color systems (when applicable)

Important: Emulated materials are not always 1:1 with the game. They are built to be usable and predictable for modding, not perfect copies.


How Unreal Organizes Materials (Basic Terms)

Master Material (Parent Material)

A master material contains the shader logic. Think of it as the “template” that defines how the material works.

Material Instance (Child)

A material instance is a child of the master material. It stores the editable values:

  • Which textures are used
  • Which parameters are set
  • Which toggles are enabled

You usually create instances to make different variations without rebuilding the logic.


Dirty Material Instances vs Emulated Materials

Dirty Material Instances (Reference-Only)

  • Point to materials that already exist in the game
  • Often look blank or wrong in the editor (expected)
  • Not meant for editing or previewing changes
  • Usually not packaged into the mod

Use dirty MIs when you want to reference existing in-game materials without customization.

Emulated Materials (Editable + Previewable)

  • Built inside your project so Unreal Editor can render them
  • Designed so you can edit and preview changes
  • Packaged into your mod
  • Used when you want control over textures and parameters

If you want to see it and change it, you want emulated materials.


Beginner-Friendly Principle: Change Only What You Need

You do not always need a complex “perfect emulation.”

Example: You want to add a tattoo or recolor skin. You still want to keep:

  • Normal map behavior
  • Supporting maps (RMA/TSE/etc.)
  • Built-in effects (sweat/dirt/etc.), depending on your parent material setup

Often, you only need to change:

  • Base Color (Albedo/Diffuse)

The goal is:

  • Keep the existing logic from the parent
  • Override only the parameter(s) you care about

Two Common Workflows

Workflow A (Recommended for Beginners): Emulated Parent → Material Instance Override

Use the community emulated master material as the parent, then create a material instance and override only the parameter(s) you need (example: Base Color texture).

Why beginners should start here:

  • Easiest to preview in Unreal Editor
  • Easiest to debug
  • Fewest ways to break things
  • Matches how Unreal is intended to be used (master → instance)

Workflow B (Advanced): Runtime-Parented Material Instance (Inherit Real Game Logic)

In some pipelines, you can create a child material instance that references a parent material instance that already exists in the base game (by exact path/name). You package only your child instance (with your overrides). At runtime, the game resolves the parent from its own Content and you inherit the real in-game functions.

This workflow is powerful, but:

  • More fragile (path/name must be perfect)
  • Harder to troubleshoot
  • Often offers little/no useful editor preview

This will be covered later as an advanced topic.


When You Should Use Emulated Materials

Use emulated materials when you want any of the following:

  • Preview the look in Unreal Editor
  • Swap textures (Base Color, Normal, RMA/TSE/etc.)
  • Adjust parameters (colors, scalars, toggles)
  • Package your material changes into the mod
  • Use systems like color tables / ID masks (if your project supports them)

Next Step

This guide explained:

  • What emulated materials are
  • Why we use them
  • The recommended beginner approach (Workflow A)

Continue to:

  • 04_setting_up_emulated_materials_for_beginners.md