The 3D Handbook
Reference

Texture maps explained

Every common texture map in one place; what it stores, whether it is colour (sRGB) or data (linear), how it is usually stored and compressed, and where it plugs into Unreal, Unity and Godot.

materialstexturingreferencepbr

A texture map is an image whose pixels feed one input of a material: a colour, a roughness value, a direction. Some maps are pictures meant to be seen (base colour, emissive); most are data that the shader reads as numbers. This distinction is central to texturing for physically based rendering.

This page is a lookup table. Each common map links to its own page where one exists.

#Colour maps and data maps

Colour maps are stored in sRGB, a gamma-encoded space that matches how screens and eyes work. Data maps must be linear, so a stored 128 really means 0.5. Unity's importer describes its sRGB toggle as: enable it "for non-HDR color textures such as albedo", disable it "if the texture stores information that you need the exact value for" (Unity Manual: Default texture import settings reference). Unreal's Masks compression setting exists to "disable sRGB as texture masks should not be gamma corrected" (Unreal Engine documentation: Texture Compression Settings). The glTF format writes it into the standard: base colour and emissive "MUST" use the sRGB transfer function; metallic-roughness, normal and occlusion textures "MUST" be linear (Khronos Group: glTF 2.0 Specification).

If a roughness map is imported as sRGB, every mid value shifts and the whole material looks too glossy or too rough. Always check this first when a material "looks off".

#The maps

Map What it stores Colour space Typical storage Notes
Base colour (albedo, diffuse) Diffuse colour of non-metals; reflection colour of metals sRGB (Khronos Group) 8-bit RGB; BC1, or BC7 for higher quality (Nathan Reed's coding blog) No lighting or shadows (Adobe Substance 3D)
Roughness How blurry reflections are; black smooth, white rough Linear (Adobe Substance 3D) 8-bit greyscale, usually packed in a channel See channel packing
Gloss / smoothness Inverse of roughness: white smooth (Adobe Substance 3D) Linear Greyscale; Unity stores smoothness in an alpha channel (Unity Manual) Specular/gloss workflow and Unity
Metallic Metal (1) or non-metal (0) Linear (Adobe Substance 3D) Greyscale, usually packed Mostly pure black and white (Unreal Engine documentation)
Specular Reflectance of non-metals (spec/gloss workflow: full F0 colour) sRGB in spec/gloss (Adobe Substance 3D) RGB (spec/gloss) or one scalar In Unreal, a scalar left at 0.5 (Unreal Engine documentation)
Normal Surface direction per pixel, XYZ as RGB Linear (Khronos Group) Two channels in BC5; 16-bit when baking (Nathan Reed's coding blog; Marmoset) OpenGL vs DirectX green, see tangent space and MikkTSpace
Ambient occlusion How much ambient light reaches each point; white open, black occluded Linear (Khronos Group) Greyscale, usually packed Affects indirect light only
Height / displacement Distance above or below the surface Linear (data) 8- or 16-bit greyscale; Unreal's Displacementmap setting (Unreal Engine documentation) Parallax or real displacement
Emissive Light the surface gives off sRGB (Khronos Group) RGB, often HDR intensity in the material Values above 1 allowed for glow in Unreal (Unreal Engine documentation)
Opacity / mask Transparency (smooth) or cut-out (on/off) Linear (data) Alpha channel of base colour, or BC4 single channel (Unreal Engine documentation) Opacity Mask in Unreal is fully visible or invisible per pixel (Unreal Engine documentation)
Subsurface / thickness Where light passes through thin parts; thinner = brighter (Marmoset) Linear (data) Greyscale Leaves, ears, wax, marble
Curvature Convex edges vs concave cavities Linear (data) Greyscale, baking intermediate Used for masks, not shaded directly (Marmoset)
ID (material / object ID) A flat colour per material or part of the high poly (Marmoset) Doesn't matter (used as a mask) RGB, baking intermediate Selects areas in Substance or Designer
Bent normal Average direction of unoccluded ambient light (Godot documentation) Linear Red and green used in Godot Better ambient and specular occlusion

Curvature and ID maps are authoring maps: you bake them so texturing software can generate masks, and they never ship to the engine. Marmoset: curvature is useful "for generating masks for scratches, recessed dirt, and other effects" (Marmoset: The Toolbag Baking Tutorial). See baking.

#Where they plug in

Map Unreal Engine Unity (URP / HDRP Lit) Godot (StandardMaterial3D)
Base colour Base Color (Unreal Engine documentation) Base Map Albedo (Godot documentation)
Metallic Metallic Metallic Map (URP) (Unity Manual); mask map R (HDRP) (High Definition Render Pipeline manual 17.0) Metallic, or ORM blue (Godot Engine)
Roughness Roughness Smoothness in Metallic or Albedo alpha (URP) (Unity Manual); mask map A (HDRP) (High Definition Render Pipeline manual 17.0) Roughness, or ORM green (Godot Engine)
Ambient occlusion Ambient Occlusion (Unreal Engine documentation) Occlusion Map (URP) (Unity Manual); mask map G (HDRP) (High Definition Render Pipeline manual 17.0) Ambient Occlusion, or ORM red (Godot Engine)
Normal Normal Normal Map Normal Map (Godot documentation)
Height Displacement (Nanite tessellation) or a parallax node Height Map (Unity Manual); Displacement Mode (HDRP) (High Definition Render Pipeline manual 17.0) Height (parallax) (Godot documentation)
Emissive Emissive Color (Unreal Engine documentation) Emission Map (Unity Manual) Emission (Godot documentation)
Opacity / mask Opacity, Opacity Mask (Unreal Engine documentation) Base Map alpha Albedo alpha with transparency or alpha scissor (Godot documentation)
Subsurface Subsurface Color (Subsurface shading model) (Unreal Engine documentation) Thickness map for translucent materials (HDRP) (High Definition Render Pipeline manual 17.0) Subsurface Scattering (Forward+ only) (Godot documentation)
Bent normal Bent Normal (Lumen notes it is "significantly more expensive" for "little visual improvement") (Unreal Engine documentation) Bent Normal Map (HDRP) (High Definition Render Pipeline manual 17.0) Bent Normal Map (Godot documentation)

#Common mistakes

physically based rendering · channel packing · texture formats, compression and mipmaps · texture file formats · baking · texturing and material software

#Further reading and watching

References

  1. Unity Technologies · Default texture import settings reference · Unity Manual (6000.2) · docs · accessed 2026-10-21
  2. Epic Games · Texture Compression Settings (Unreal Engine 4.27) · Unreal Engine documentation, 2021 · docs · accessed 2026-10-21
  3. Khronos Group · glTF 2.0 Specification · Khronos Group (GitHub) · docs · accessed 2026-10-21
  4. Nathan Reed · Understanding BCn Texture Compression Formats · Nathan Reed's coding blog, 2012 · article · accessed 2026-10-21
  5. Allegorithmic · The PBR Guide – Part 2 · Adobe Substance 3D (Adobe Learn) · article · accessed 2026-10-21
  6. Unity Technologies · Lit shader material Inspector window reference for URP · Unity Manual (6000.2) · docs · accessed 2026-10-21
  7. Epic Games · Physically Based Materials in Unreal Engine · Unreal Engine documentation · docs · accessed 2026-10-21
  8. Joe Wilson · The Toolbag Baking Tutorial · Marmoset, 2017 · article · accessed 2026-10-21
  9. Epic Games · Material Inputs (Unreal Engine 4.27) · Unreal Engine documentation, 2021 · docs · accessed 2026-10-21
  10. Godot Engine contributors · Standard Material 3D and ORM Material 3D (documentation source) · Godot documentation (GitHub) · docs · accessed 2026-10-21
  11. Unity Technologies · Mask map and detail map (HDRP) · High Definition Render Pipeline manual 17.0 · docs · accessed 2026-10-21
  12. Godot Engine contributors · BaseMaterial3D (class reference source) · Godot Engine (GitHub) · docs · accessed 2026-10-21
  13. Unity Technologies · Lit material Inspector reference (HDRP) · High Definition Render Pipeline manual 17.0 · docs · accessed 2026-10-21
  14. Epic Games · Lumen Global Illumination and Reflections · Unreal Engine documentation · docs · accessed 2026-10-21

Last updated 2026-10-22