Terrain layers and splat maps
How terrain materials such as grass, rock and mud are painted onto a landscape, with weight maps (splat maps) that store how much of each layer covers every point, or index maps that store which layers do.
A terrain layer is one tiling material, such as grass, dirt, rock or snow, that can be painted onto a terrain. A splat map (Unity calls it the control texture, Unreal a weight map) records how much of each layer covers each point. Unity's manual defines the layer as "an Asset that defines a Terrain's surface qualities", reusable across terrain tiles (Unity Manual: Terrain Layers).
Splat maps let you paint a 4 km terrain with a brush while each material still tiles sharply up close.
#How weight blending works
Each layer gets a weight between 0 and 1 at every texel of the map. Unreal's weight blending "Assigns a value between 0 and 1.0 to each layer of the material, which corresponds to a percentage value", and its paint tools make sure weights never add up to more than 1.0 (Unreal Engine Documentation: Landscape Materials). The shader samples every active layer and mixes them by weight.
A texture has four channels (RGBA), so four weights fit in one texture. Unity's limits come in the same groups of four: in URP and the built-in pipeline, four layers per texture pass, with each extra pass adding rendering time; HDRP renders up to eight layers per tile in a single pass, and areas painted with a ninth "appear black" (Unity Manual: Terrain Layers).
#Index maps instead of weights
Some engines store layer IDs instead of weights. Terrain3D for Godot uses a 32-bit control map per pixel: 5 bits for a base texture ID (0–31), 5 for an overlay ID, 8 for the blend between them, plus UV rotation and scale and flags for holes and navigation (Terrain3D documentation: Control Map Format). Its documentation credits a Witcher 3 presentation for one of its ideas, packing 0–1 values into a 3-bit index (Terrain3D documentation: Control Map Format). CD Projekt RED's GDC 2014 talk on REDengine 3 terrain, by Marcin Gollent, argued that "By moving away from the conventional terrain material layers and linear material blends, visual quality can be improved" (GDC 2014: Landscape Creation and Rendering in REDengine…).
The trade-off shows in a Terrain3D design discussion that compares its blending with a REDengine slide: with index maps, the red and green channels "are both index maps and therefore cannot gradually blend their own indices", which is why blend weights and noise at the edges matter (Terrain3D on GitHub: Texture Blending and Indices).
#Natural-looking blends
A straight weight blend makes grass fade into rock like a crossfade. Height-based blending looks closer to real ground: stones poke through first, grass fills the gaps. Unreal's LB Height Blend is "the same as LB Weight Blend, but also adds detail to the transition between layers based on a height map" (Unreal Engine Documentation: Landscape Materials). See height blending. Unity's terrain layers carry a mask map whose blue channel stores height for the same purpose (R metallic, G ambient occlusion, B height, A smoothness) (Unity Manual: Terrain Layers); see channel packing.
#Performance tips
- Unused layers cost nothing per component in Unreal. "If a Landscape component does not use a specific layer, the subtree of nodes connected to the layer is discarded" (Unreal Engine Documentation: Landscape Materials). Paint each area with only the layers it needs.
- Mobile limits. Unreal's ES3.1 mobile path "still has a hard limit in terms of sampler count (16)", and Epic recommends only three layer nodes on mobile (Unreal Engine Documentation: Landscape Materials). See texture arrays for one way round sampler limits.
- Side projection. Unreal's TCMT XZ mapping is "Recommended for side-projected textures", useful on cliffs where top-down UVs stretch (Unreal Engine Documentation: Landscape Materials). See triplanar and world-aligned mapping.
- Tiling. Each layer's Size controls "how often the Textures tile" (Unity Manual: Terrain Layers); pair it with breaking up tiling and detail maps and macro variation.
Related: terrain and landscapes, heightfield erosion, tileable materials, vertex painting and blending.
#Further reading and watching
References
- · Terrain Layers · Unity Manual, 2026 · docs · accessed 2026-10-21
- · Landscape Materials · Unreal Engine Documentation, 2026 · docs · accessed 2026-10-21
- · Control Map Format · Terrain3D documentation, 2026 · docs · accessed 2026-10-21
- · Landscape Creation and Rendering in REDengine 3 · GDC 2014 (GDC Vault), 2014 · talk · accessed 2026-10-21
- · Texture Blending and Indices (discussion #64) · Terrain3D on GitHub, 2023 · forum · accessed 2026-10-21
Pages that link here
- Texture arrays Key term
- Terrain and landscapes Topic
- Heightfield erosion Key term
Last updated 2026-10-22