01 UE ‐ Dirty Material Instances (Reference‐Only Materials) - CDDTreborn/Tekken-8-Resources GitHub Wiki
Dirty Material Instances (Reference-Only Materials)
This guide assumes:
- You are new to Unreal Engine
- You may have modding experience in other engines
- You have already read Asset Placement Basics
If you skipped that first guide, go back and read it now.
Dirty Material Instances depend on correct asset paths.
What Is a Dirty Material Instance?
A Dirty Material Instance (Dirty MI) is a material instance that:
- References a material that already exists in the game
- Is not included in the packaged mod
- Exists only to tell the game what to load at runtime
It does not contain textures, colors, or logic in your project.
What Dirty MIs Are Used For
Dirty MIs are used to:
- Assign real in-game materials to meshes
- Match the game’s visuals exactly
- Avoid recreating complex materials
- Speed up modding when customization is not needed
They are especially common for:
- Body materials
- Clothing
- Hair
- Any asset with complex internal shader logic
What Dirty MIs Are NOT Used For
Dirty MIs are not used to:
- Preview materials in the editor
- Edit colors or textures
- Change parameters
- Package custom materials into a mod
If you want to see or edit a material, you will need emulated materials later.
Extremely Important: Editor Behavior
When you apply a dirty MI to a mesh in Unreal Editor:
- The mesh may look blank
- The mesh may look gray
- The mesh may look incorrect
- Material parameters may appear empty
This is expected.
Nothing is broken.
Why Dirty MIs Look Wrong in the Editor
Unreal Editor can only display assets that physically exist in your project.
Dirty MIs reference:
- Cooked game assets
- Internal textures
- Internal material functions
Those assets are not present in your mod project.
The editor has nothing to render.
Why They Still Work In-Game
At runtime:
- The game already has the real material
- The game already has all textures and logic
- The game resolves the reference automatically
Your mod only provides the address, not the content.
Correct Mental Model (Memorize This)
Dirty Material Instances are pointers, not materials.
They point to content that already exists in the game.
How Dirty MIs Are Resolved
When a mesh loads, it effectively asks:
Load the material instance at this exact path
If the path and name match what exists in the game:
- The material loads correctly
If they do not match:
- The material fails to load
This is why correct placement and naming are required.
Common Beginner Mistakes
- Expecting the material to look correct in the editor
- Trying to adjust parameters on a dirty MI
- Renaming the asset for readability
- Moving the asset to a custom folder
- Assuming Unreal will “find” the material anyway
All of these will cause confusion or failure.
When to Use Dirty MIs
Use dirty MIs when:
- You want the game’s exact look
- You do not need to customize materials
- You are setting up references only
- You want to move fast without rebuilding shaders
When to Move On
If you want to:
- See the material in the editor
- Adjust colors or textures
- Preview changes before packaging
- Customize ID channels or color tables
Then you need emulated materials.
That is the next guide.
Stop Here
If you understand:
- Why dirty MIs look wrong in the editor
- Why they still work in-game
- Why path and naming matter
You are ready to continue.