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