HermineGames - Ultimate Master Material

Documentation Link

Ultimate Master Material is a powerful and optimized master material designed for Unreal Engine 5, built to cover the majority of environment material needs while staying performant and easy to use. It comes with two optimized shader versions:

  • 3-Texture Workflow: BaseColor, AORM, Normal

  • Ultra-Optimized 2-Texture Workflow: BaseColor+Roughness, Normal+AO+Metallic

This flexibility allows artists and developers to balance visual quality and performance depending on project requirements, from high-end environments to large-scale scenes.

The material supports advanced features such as triplanar projection, automatic grunge, distance field dirt, rain effects, emissive control, and vertex color blending β€” all demonstrated in an included demo level. Designed with scalability in mind, Ultimate Master Material leverages Custom Primitive Data to enable runtime parameter control without material instance duplication, making it ideal for games, archviz, film, and real-time applications.

Key Features

  • Two optimized master materials

    • 3-texture packed workflow (BaseColor / AORM / Normal)

    • 2-texture ultra-optimized workflow

  • World-aligned / triplanar textures

    • No extra texture lookups

  • Advanced surface details

    • Automatic grunge overlay

    • Distance field dirt accumulation

    • Rain and wetness effects

    • Emissive control

  • Material blending

    • Up to 4 blended materials

    • Height-based blending simulation without extra height textures

  • Artist-friendly controls

    • Vertex color support

    • Random UV offset

  • Runtime customization

    • Custom Primitive Data support

    • Change material behavior at runtime without extra instances

  • Modern Unreal support

    • PBR workflow

    • Nanite compatible

    • Lumen compatible

Included Content

  • 2 Master Materials

  • 21 Preconfigured Material Instances

  • 1 Demo Level showcasing all features

Performance & Optimization

  • Designed for low shader complexity

  • Optional 2-texture version for maximum performance

  • Reduced texture lookups

  • Efficient blending and feature toggles

  • Ideal for large environments and instanced assets

Who Is This For?

  • Beginners – ready-to-use instances and clear structure

  • Environment Artists – fast iteration and powerful blending tools

  • Technical Artists – runtime control and optimized shader design

  • Game Developers / Archviz / Film – scalable and production-ready

Top 3 Benefits

  1. One material for almost everything

  2. Performance-focused design without sacrificing visual quality

  3. Runtime control via Custom Primitive Data, reducing material instance overhead

1 Like

I’d buy this instantly if there were support for 5.4

Hi! I just bought Ultimate Master Material and I’m trying to understand how it is supposed to be used in a real project.

I’m a beginner solo developer working on game in UE 5.8. I don’t want to leave a Fab review before I properly understand the material, but after looking through the graphs and doing a few tests, I’m not completely sure everything is working as intended.

The main confusion is the CPD system.

From what I can see, Use CPD Dirt works like this:

  • True selects PerInstanceCustomData[0].
  • The Default Value of that node is another Dirt Falloff scalar with real Custom Primitive Data enabled at index 0.
  • False selects the normal non-CPD Dirt Falloff parameter.
  • EUW_CPDAuto writes values using SetDefaultCustomPrimitiveDataFloat.

So it looks like the intended setup is:

  • normal Static Mesh Components use Custom Primitive Data through the PICD Default Value;
  • ISM/HISM instances use Per Instance Custom Data through SetCustomDataValue.

Is that correct?

I tested three normal Static Mesh Components with CPD index 0 set to 0, 0.5, and 1.

A simple control material reading Custom Primitive Data directly showed a very clear gradient between the three cubes. But with UMM, Add Dirt and Use CPD Dirt enabled, the three objects looked almost identical.

The normal Dirt parameter itself works. I can clearly see different results when changing Dirt Falloff manually in the material instance. I just cannot get a clear difference from the CPD values on normal static meshes.

A few questions:

  1. Has the Custom Primitive Data fallback for normal Static Mesh Components been tested in UE 5.8?
  2. Are there specific Dirt Contrast, Grunge Intensity, Height Blend, or Falloff settings required to make CPD changes visible?
  3. For ISM/HISM, should I set Num Custom Data Floats to 11 and use SetCustomDataValue for each instance?
  4. Is EUW_CPDAuto intended only for normal Static Mesh Components? It seems to write regular Custom Primitive Data, not Per Instance Custom Data.
  5. Is the actual data range 0–10? I found Dirt, Dust, AO Dirt, Emissive, vertex tint, and vertex roughness parameters using those indices.
  6. For the packed Normal + AO + Metallic texture, is the intended layout:
    • R/G = Normal XY
    • B = AO
    • A = Metallic or Opacity
  7. What compression setting do you recommend for production textures? The demo NNAM textures appear to use BC7, while some master defaults use Vector Displacement compression.

I also noticed a few differences between the documentation and the actual assets, such as Specular being present in both masters, and some parameter names containing spelling mistakes like Triplannar, Separte, and Eye Adaption. This is not a major issue manually, but it matters when controlling the materials through editor scripting.

I may simply be misunderstanding the intended workflow. The material itself looks useful and more thoughtfully built than I initially expected, so I would rather ask before assuming something is broken.

@e.harmand hello?