A material layering plugin for Godot

Material Layers for Godot

Material Layers is a Godot plugin for creating layered materials. It lets you create layered materials using reusable assets, instead of having to write them by hand. This allows for a more manageable layering system with simplified complexity, control, and flexibility.

What are people saying

Reviews for Material Layers

saw the video last night and I barely could sleep, because I was thinking about the potential

c64cosmin

Foyezes's material layers Godot plugin is fantastic and a much desired tool when it comes to PBR and non PBR materials alike; the interface is clean, detailed and clear, and, most importantly for me, has thorough and helpful documentation

k0nt0rta

Splendid plugin, definitely a needed feature for most Godot users

Anonymous (Gumroad)

Don't write huge shaders; build them modularly

Traditional material blending means cramming every texture, normal map, height map and mask into one increasingly unmanageable shader. Every change means carefully editing shared code. Material Layers flips that around. You create small and reusable materials and masks, combine them in a node graph, and hit generate.

How it works

Material Layers uses a simple but effective system that makes it easy to build complex materials in minutes.

Drop in materials

Build your layer shaders, then drag them straight into the graph.

Connect the nodes

Wire Surfaces, Masks, Overlays, and Data together and compose your layered material any way you like.

Generate the layered material

The LayerStack combines everything into the final material. Regenerate any time you iterate inside the graph.

You write shaders exactly like any other gdshader - the difference is writing to LAYER_OUT_ALBEDO instead of ALBEDO. Same language, same tools, radically simpler compositing.

Features

Material Layers features an easy to use interface with a clear resource system.

[*] Node graph - layer materials using a node graph system, no mega-shaders needed.

[*] Reusable - write a rock material once, reuse it anywhere.

[*] Non-destructive - tweak layers, masks, and parameters without ever touching a final shader.

[*] Fast iteration - swap a texture, tune a blend, hit generate.

[*] Instantiable - one source of truth, infinite parameterized instances.

[*] LOD-ready - generate LOD variants by disabling layers, no shader code involved.

[*] Large-scale texturing - perfect for terrain texturing, large-scale mesh texturing, and procedural variation.

[*] Standalone materials - every layer works standalone as a regular material.

Two roles, one system

Material Layers separates who makes materials from who uses them, so you don't need a shader programmer on the scene every time an artist tweaks a texture.

The shader programmer authors

Write reusable Surface, Mask, Overlay and Data shaders once, in plain gdshader. This is the only place shader code lives - a handful of small, focused files instead of one ever-growing mega-shader.

The artist assembles

Drag and drop materials into a LayerGraph, connect them, drop the graph into a LayerStack, and hit Generate. Every complex behavior - height blending, vertex color masks, UV manipulation - ships inside the LayerStack as inspector parameters. When a look is off, artists cycle layers and tune parameters. No need to touch the code.

Performance considerations

Using Material Layers by itself won't increase or decrease performance by default. It's all dependent on the complexity of the layer shaders. The shaders get merged into a mega-shader in LayerStack, so the complexity of the individual materials contributes directly to the final cost, same as if you'd written it by hand.

Two Editions

Material Layers comes in two editions. A paid Pro version, and a free Legacy version. Both require Godot 4.0+.

Paid

The completed system with node-graph workflow and improved workflow. Get it on Gumroad or Itch.

Free

Feature-frozen, array-based layering with SurfaceMaterial and MaskMaterial. A great way to try material layering first. Available for free on GitHub.

Try the Legacy version
YoutubePatreonDocsAssetsTwitter

©2026 Foyezes