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.
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
- Data maps imported as sRGB. The most common reason a material looks too shiny or too matte (Unity Manual: Default texture import settings reference).
- Shipping authoring maps. Curvature and ID maps belong in the texturing file, not the build.
- Baking lighting into base colour (Adobe Substance 3D: The PBR Guide – Part 2).
- Ignoring the green channel convention of normal maps; see tangent space and MikkTSpace.
- One texture per map when they could be packed, which wastes memory and samplers. See texture formats, compression and mipmaps.
#Related pages
physically based rendering · channel packing · texture formats, compression and mipmaps · texture file formats · baking · texturing and material software
#Further reading and watching
References
- · Default texture import settings reference · Unity Manual (6000.2) · docs · accessed 2026-10-21
- · Texture Compression Settings (Unreal Engine 4.27) · Unreal Engine documentation, 2021 · docs · accessed 2026-10-21
- · glTF 2.0 Specification · Khronos Group (GitHub) · docs · accessed 2026-10-21
- · Understanding BCn Texture Compression Formats · Nathan Reed's coding blog, 2012 · article · accessed 2026-10-21
- · The PBR Guide – Part 2 · Adobe Substance 3D (Adobe Learn) · article · accessed 2026-10-21
- · Lit shader material Inspector window reference for URP · Unity Manual (6000.2) · docs · accessed 2026-10-21
- · Physically Based Materials in Unreal Engine · Unreal Engine documentation · docs · accessed 2026-10-21
- · The Toolbag Baking Tutorial · Marmoset, 2017 · article · accessed 2026-10-21
- · Material Inputs (Unreal Engine 4.27) · Unreal Engine documentation, 2021 · docs · accessed 2026-10-21
- · Standard Material 3D and ORM Material 3D (documentation source) · Godot documentation (GitHub) · docs · accessed 2026-10-21
- · Mask map and detail map (HDRP) · High Definition Render Pipeline manual 17.0 · docs · accessed 2026-10-21
- · BaseMaterial3D (class reference source) · Godot Engine (GitHub) · docs · accessed 2026-10-21
- · Lit material Inspector reference (HDRP) · High Definition Render Pipeline manual 17.0 · docs · accessed 2026-10-21
- · Lumen Global Illumination and Reflections · Unreal Engine documentation · docs · accessed 2026-10-21
Pages that link here
- Texturing and material software Reference
- Physically based rendering (PBR) Topic
- Colour space: sRGB and linear Key term
- Base colour (albedo) map Key term
- Roughness map Key term
- Metallic map Key term
- Ambient occlusion Key term
- Channel packing (ORM) Key term
- Texture formats, compression and mipmaps Topic
- Exercise: your first game-ready prop Exercise
- A 12-month learning roadmap Guide
Last updated 2026-10-22