Skip to content

Batch Material Creator

Module: Tech · Category: Workflow · Tool ID: BatchMaterialCreator

Scans a texture folder, matches files against configurable naming conventions (_Albedo, _Normal, _Metallic, _Roughness, _AO, _Emission, _Height + many aliases), groups them into material sets per base name, and creates UMaterialInstanceConstant from a chosen parent material with the appropriate textures wired into the right parameters.

Screenshot 01 — Hero shot — Tool open after a folder scan, detected sets list showing 8–10 material sets with Full PBR / Partial flags, parent material selected.


  • Bulk import: a folder of texture sets that all use the same parent material
  • Naming-convention-driven material creation
  • Migrating from another engine where textures are organized by base name
  • Producing master-instance pairs from a 50-set library in one click
  • Don’t expect this to author master materials — it creates instances from a parent
  • Don’t expect non-naming-convention matching — the tool reads filename suffixes

  1. Open the EQLabs Hub and search for Batch Material (or browse to Tech → Workflow)
  2. Click the tool card
  3. Configure folders + parent, click Scan, then Create

FieldWhat it doesDefault
Texture FolderFolder with the source textures/Game/Textures
Output FolderWhere created MIs save/Game/Materials
Parent Material pickerThe master material to instance from(empty)
Albedo SuffixesComma-separated suffix list_Albedo,_BaseColor,_Diffuse,_Color,_D,_BC
Normal Suffixes_Normal,_NormalMap,_N,_Nrm
Metallic Suffixes_Metallic,_Metal,_M
Roughness Suffixes_Roughness,_Rough,_R
AO Suffixes_AO,_AmbientOcclusion,_Occlusion,_O
Emission Suffixes_Emission,_Emissive,_E
Height Suffixes_Height,_Displacement,_Disp,_H
ScanWalks the folder, groups into sets
CreateCreates MIs for every detected set
Copy ResultsPlain-text dump
Detected Sets listPer-set row: base name, found maps, Full PBR flag
StatWhat it shows
Full PBR CountSets with Albedo + Normal + Roughness + Metallic
Partial CountSets missing at least one of the above

Screenshot 02 — Detected sets — Sets list with mix of Full PBR + Partial flags visible.


  1. Set Texture Folder and Output Folder
  2. Drop the parent material into the picker
  3. Optionally tweak suffix lists for your team’s conventions
  4. Click Scan — sets list populates
  5. Review the list — confirm the right textures are matched per set
  6. Click Create — material instances are generated and saved

Suffix lists, folders, and parent material persist to [Project]/Saved/EQLabs/Settings/BatchMaterialCreator.json.


  • UMaterialInstanceConstant assets — one per detected set, saved to Output Folder
  • Naming: MI_<BaseName> (configurable via parent material naming)
  • Texture parameters wired to standard names (BaseColor, Normal, etc.) — make sure your parent material exposes parameters with those names

  • Parent material parameter names matter — the tool wires textures to parameters named BaseColor, Normal, Roughness, Metallic, AO, Emission, Height. Rename if your parent uses different conventions
  • Suffix lists are case-sensitive — match your team’s actual filenames
  • Partial sets still get MIs created — only the matched textures are wired; unmatched parameters use the parent default


Report an issue with this tool

Opens our feedback form in a new tab with the tool name pre-filled.