Master material
Unless you pick your own master, Material Smith makes every material instance a child of M_Smith_Standard, a master material it creates in your project. It is an ordinary material asset built from standard material nodes, so your instances depend on it, not on the plugin.
Where and when it is created
Section titled “Where and when it is created”- Folder: the Master Material Folder setting,
/Game/MaterialSmithby default. - When: the first time Create needs it, that is when the Master option is empty and the master does not exist yet. The preview only announces it: The master material M_Smith_Standard will be created in /Game/MaterialSmith. From Python,
get_master_material()creates it too. - Saving: the master and its default textures are saved right away, even when Save assets is off.
- Usage: the Skeletal Mesh and Instanced Static Meshes usage flags are turned on when it is created, so assigning instances to skeletal meshes or foliage doesn’t have to change the master later.
If an asset that is not a material already uses the name, Material Smith reports … exists but is not a material. Rename it or pick another Master Material Folder in Project Settings.
Parameters
Section titled “Parameters”The parameters are in numbered groups, so the material instance editor lists them in this order. Every static switch is off in the master; Material Smith turns on the ones a set needs in each instance.
01 Base Color
Section titled “01 Base Color”| Parameter | Type | Default | Notes |
|---|---|---|---|
| Use Base Color Map | Static switch | Off | Off: the base color is Base Color Tint alone. |
| Base Color Map | Texture, Color sampler | Engine default texture | Multiplied by Base Color Tint. |
| Base Color Tint | Vector | White |
02 Normal
Section titled “02 Normal”| Parameter | Type | Default | Notes |
|---|---|---|---|
| Use Normal Map | Static switch | Off | Off: a flat normal. |
| Normal Map | Texture, Normal sampler | Engine default normal map | |
| Normal Strength | Scalar | 1 (slider 0–2) |
Scales the X and Y of the normal. |
03 Roughness
Section titled “03 Roughness”| Parameter | Type | Default | Notes |
|---|---|---|---|
| Use Roughness Map | Static switch | Off | Off: the Roughness value is used. |
| Roughness Map | Texture, Alpha sampler | T_Smith_Default_Mask |
Red channel. |
| Roughness | Scalar | 0.5 |
Used without a roughness map. |
| Roughness From Packed Map | Static switch | Off | Reads roughness from Packed Map instead of Roughness Map. |
| Invert Roughness (Glossiness) | Static switch | Off | Uses 1 − value, for glossiness or smoothness maps. |
| Roughness Min | Scalar | 0 |
The map value is remapped to the range Roughness Min to Roughness Max. |
| Roughness Max | Scalar | 1 |
04 Metallic
Section titled “04 Metallic”| Parameter | Type | Default | Notes |
|---|---|---|---|
| Use Metallic Map | Static switch | Off | Off: the Metallic value is used. |
| Metallic Map | Texture, Alpha sampler | T_Smith_Default_Mask |
Red channel. |
| Metallic | Scalar | 0 |
Used without a metallic map. |
| Metallic From Packed Map | Static switch | Off | Reads metallic from Packed Map. |
| Metallic Intensity | Scalar | 1 |
Multiplies the map value. |
05 Ambient Occlusion
Section titled “05 Ambient Occlusion”| Parameter | Type | Default | Notes |
|---|---|---|---|
| Use Ambient Occlusion Map | Static switch | Off | Off: no occlusion (1). |
| Ambient Occlusion Map | Texture, Alpha sampler | T_Smith_Default_Mask |
Red channel. |
| Ambient Occlusion From Packed Map | Static switch | Off | Reads occlusion from Packed Map. |
| Ambient Occlusion Strength | Scalar | 1 |
Blends from no occlusion (0) to the full map value (1). |
06 Packed Map
Section titled “06 Packed Map”| Parameter | Type | Default | Notes |
|---|---|---|---|
| Packed Map | Texture, Masks sampler | T_Smith_Default_Packed |
One texture with several data maps (ORM, MRA …). |
| Packed AO Channel | Vector | (1, 0, 0, 0): red |
Picks the channel that holds ambient occlusion. |
| Packed Roughness Channel | Vector | (0, 1, 0, 0): green |
Picks the roughness channel. |
| Packed Metallic Channel | Vector | (0, 0, 1, 0): blue |
Picks the metallic channel. |
| Packed Opacity Channel | Vector | (0, 0, 0, 1): alpha |
Picks the opacity channel. |
Each channel parameter has 1 in the channel to read and 0 in the others (red, green, blue, alpha). Material Smith sets them from the channel layout of the set’s packed texture, so ORM, MRA, RMA and ORD textures all work with the same master. Height is not read from packed textures: the blue channel of an ORD texture is not used.
07 Emissive
Section titled “07 Emissive”| Parameter | Type | Default | Notes |
|---|---|---|---|
| Use Emissive Map | Static switch | Off | Off: no emission (black). |
| Emissive Map | Texture, Color sampler | Engine default texture | Multiplied by Emissive Color and Emissive Intensity. |
| Emissive Color | Vector | White | |
| Emissive Intensity | Scalar | 1 (slider 0–50) |
08 Opacity
Section titled “08 Opacity”| Parameter | Type | Default | Notes |
|---|---|---|---|
| Use Opacity Map | Static switch | Off | Off: fully opaque (1). |
| Opacity Map | Texture, Alpha sampler | T_Smith_Default_Mask |
Red channel. |
| Opacity From Packed Map | Static switch | Off | Reads opacity from Packed Map. |
| Opacity From Base Color Alpha | Static switch | Off | Reads opacity from the alpha channel of Base Color Map. Takes effect while Use Opacity Map is on. |
| Opacity Strength | Scalar | 1 |
Multiplies the opacity. |
The result drives both the Opacity and the Opacity Mask input of the material. The master itself is opaque; Material Smith gives instances with an opacity map a Masked blend mode override.
09 Height
Section titled “09 Height”| Parameter | Type | Default | Notes |
|---|---|---|---|
| Use Height Map (Parallax) | Static switch | Off | On: the texture coordinates of every map are offset with a Bump Offset node (reference plane 0.5). |
| Height Map | Texture, Alpha sampler | T_Smith_Default_Mask |
Red channel. |
| Height Ratio | Scalar | 0.02 (slider 0–0.2) |
Strength of the parallax effect. |
The height map is only used for parallax. It is assigned to every instance whose set has one, but the switch is turned on only with the Parallax for height maps option.
| Parameter | Type | Default | Notes |
|---|---|---|---|
| UV Tiling | Vector | (1, 1, 0, 0) |
Red and green scale U and V. |
| UV Offset | Vector | (0, 0, 0, 0) |
Red and green offset U and V. |
All maps use the same texture coordinates: UV channel 0, multiplied by UV Tiling, plus UV Offset, and then the parallax offset if it is on.
How instances are set up
Section titled “How instances are set up”On every run, Material Smith sets the texture parameters of the detected maps and these switches in the instance:
| Switch | On when |
|---|---|
| Use Base Color Map | The set has a base color map. |
| Use Normal Map | The set has a normal map. |
| Use Emissive Map | The set has an emissive map. |
| Use Height Map (Parallax) | The set has a height map and Parallax for height maps is on. |
| Use Roughness Map, Use Metallic Map, Use Ambient Occlusion Map, Use Opacity Map | The set has a separate map for it, or a packed texture with that channel. |
| Roughness From Packed Map, Metallic From Packed Map, Ambient Occlusion From Packed Map, Opacity From Packed Map | The set has no separate map for it, but its packed texture has the channel. The matching Packed … Channel parameter is set to that channel. |
| Invert Roughness (Glossiness) | The roughness map is marked as glossiness. |
A separate map wins over a packed channel. Opacity From Base Color Alpha is never turned on by Material Smith; it is turned off when the set has an opacity map and otherwise left as it is.
Only the switches a set needs are on, so the instance compiles only the parts of the graph it uses.
Virtual texture variant
Section titled “Virtual texture variant”M_Smith_Standard_VT has the same graph and parameters with virtual texture samplers (Virtual Color, Virtual Normal, Virtual Masks, Virtual Alpha). It is created and used automatically when every map of a set (except Not Used textures) already streams as a virtual texture.
If only some maps of a set are virtual textures, the regular master is used and What will happen says Some maps are virtual textures and some are not. The regular master is used and virtual texture streaming is turned off for them. With Fix texture settings on, virtual texture streaming is then turned off for those textures. See Texture settings.
Default textures
Section titled “Default textures”Unreal checks the default texture of every texture parameter against its sampler type, even when an instance overrides the texture. A parameter whose default texture doesn’t fit breaks every instance of the material. Each parameter of the master therefore has a default texture that fits:
| Sampler | Regular master | Virtual texture master |
|---|---|---|
| Color (Base Color Map, Emissive Map) | /Engine/EngineResources/DefaultTexture |
T_Smith_Default_Color_VT |
| Normal (Normal Map) | /Engine/EngineMaterials/DefaultNormal |
T_Smith_Default_Normal_VT |
| Masks (Packed Map) | T_Smith_Default_Packed |
T_Smith_Default_Packed_VT |
| Alpha (Roughness, Metallic, Ambient Occlusion, Opacity and Height Map) | T_Smith_Default_Mask |
T_Smith_Default_Mask_VT |
The T_Smith_Default_* textures are created in the Textures subfolder of the master’s folder (/Game/MaterialSmith/Textures) when they don’t exist yet; existing ones are reused. If one of the engine textures doesn’t fit its sampler type, T_Smith_Default_Color or T_Smith_Default_Normal is created instead.
T_Smith_Default_Packed: no occlusion, medium roughness, not metallic (red 255, green 128, blue 0), linear, Masks compression, no alpha.T_Smith_Default_Mask: white, linear, Alpha compression.- The regular textures are 8 × 8 pixels; the virtual texture ones are 256 × 256 so they fill a whole virtual texture tile.
Edit, move or replace it
Section titled “Edit, move or replace it”The master and its default textures are regular assets of your project. You can open, edit and version them like any other material.
- Editing: Material Smith never rebuilds an existing master. Keep the parameter names listed above: instances are filled by those names.
- Moving or renaming: Material Smith looks for
M_Smith_Standard(andM_Smith_Standard_VT) by name in the Master Material Folder. After moving the master, set Master Material Folder to the new folder, otherwise the next run creates a new master in the old one. Default textures are looked for in theTexturessubfolder of that folder. - Picking it explicitly: a renamed copy of the master, or an instance of it, can be picked in Options > Master or Default Master. Material Smith recognizes it as a Material Smith master by its Packed AO Channel and Packed Roughness Channel parameters and fills it the same way.
- Starting fresh: set Master Material Folder to an empty folder. The next run creates a new master there, and instances updated by that run are re-parented to it.
- Replacing it: pick your own material in Options > Master, or set Default Master in Project Settings. See Custom master materials.