Skip to content

Material Smith

Version 1.0.0 Unreal Engine 5.6 – 5.8 MIT license

Material Smith is an Unreal Engine editor plugin that turns texture sets into material instances. Select T_Rock_BaseColor, T_Rock_Normal and T_Rock_ORM, click Create, and you get MI_Rock with every map in its parameter, the texture settings fixed and the instance assigned to SM_Rock.

For every texture set you checked, Material Smith:

  1. Detects the maps from the texture names: _BaseColor, _Normal, _ORM, _diff, _nor_gl, _ORDp and the other endings of its name table.
  2. Picks the parent material: the Material Smith master M_Smith_Standard, created in /Game/MaterialSmith the first time it is needed, or a master material of your own.
  3. Packs channels if you turned on Pack channels: separate roughness, metallic and ambient occlusion maps become one T_Name_ORM texture.
  4. Fixes texture settings so every texture fits the sampler of its parameter: sRGB, compression, Flip Green Channel and virtual texture streaming.
  5. Creates or updates the material instance (MI_Name) with every texture in its parameter and only the static switches the set needs turned on.
  6. Assigns the instance to meshes named like the set, such as SM_Rock, or to the matching material slot of a multi-material mesh.
  • Name-based detection with a default table of 97 name endings that covers Unreal, Substance Painter, Fab / Megascans, Poly Haven and ambientCG names. Resolution and file type tokens such as _4K, _2048 or -JPG are ignored. The table is editable. See Texture set naming.
  • Packed textures in any channel order: ORM, ARM, MRA, RMA and Megascans ORD are detected by name, and you can set the channels of any packed texture by hand.
  • A master material in your project. M_Smith_Standard supports base color, normal, roughness, metallic, ambient occlusion (separate or packed), emissive, opacity and height (parallax). Your instances depend on that asset, not on the plugin. See Master material.
  • Your own master materials. Material Smith guesses which texture parameter and static switch belongs to which map and stores the mapping in Project Settings. See Custom master materials.
  • Texture settings that fit the material. See Texture settings.
  • Channel packer, during instance creation or on its own page. Textures you imported are never overwritten. See Channel packer.
  • Mesh assignment for static and skeletal meshes. See Meshes.
  • Safe to run again. Existing instances are updated, not duplicated.
  • Preview before you click. The panel lists what will happen for each set: packing, texture changes, the instance path, mesh slots and problems.
  • Import suggestion. After you import textures that form a set, a notification offers to create the material instances.
  • Python and Blueprint API through TAMaterialSmithSubsystem. See Python.
  • Tools > ta Material Smith (in the tridiART section of the Tools menu) opens the panel. See Texture sets panel.
  • Right-click textures or folders in the Content Browser and choose Create Material Instances, or right-click textures and choose Pack Channels.
  • Settings are in Edit > Project Settings > Plugins > ta Material Smith. See Settings.
Unreal Engine 5.6, 5.7, 5.8
Platforms Win64, Mac and Linux editor
Module type Editor only (not included in packaged builds)
License MIT