sRGB vs Non-Color Data in Blender is the first check when a Locker3d material looks plastic, dirty, or “almost right.” Color textures store human-facing color. Data textures store numbers the shader treats as roughness, metalness, or a normal vector. If you let Blender decode those numbers as sRGB, the curve is wrong and Principled BSDF lies.

Why color space exists on Image Texture nodes
Displays and photos use sRGB: a gamma curve so 50% grey is not 0.5 in linear light. PBR math is linear. Albedo is authored as color, so Blender should decode sRGB → linear before Principled uses it as Base Color. Roughness is authored as linear 0–1 (“this pixel is 0.4 rough”). If that file is tagged sRGB, Blender decodes it again and 0.4 is no longer 0.4. The same bug on a normal map bends lighting. Map roles: complete PBR textures guide.
sRGB: albedo only
Set Color Space to sRGB on albedo, basecolor, and any true color variant (sometimes named diffuse when it is lighting-free). That is the only map that should look like a photograph of the surface color. If the albedo already contains a window highlight, it is a photo, not a PBR albedo—color space will not save it. Emission color textures, if you use them, are also color. Do not set sRGB on a packed ORM or a roughness JPEG “because it looks nicer in the thumbnail.”
Non-Color: linear roughness, normal, and masks
Set Non-Color on roughness, metallic, ambient occlusion, height, and normal. In Blender 4.x you may see Linear Rec.709 for data; that is still “not sRGB.” The normal image still goes through a Normal Map node. AO, if you use it, is multiplied with albedo in the shader so you can disable it under baked lighting. Height stays linear into Bump or Displacement. Full socket order: how to apply PBR textures in Blender.
- Albedo / Base Color → sRGB.
- Roughness, metallic, AO, height → Non-Color.
- Normal → Non-Color + Normal Map node.
- ORM packed maps → Non-Color, then Separate Color.
How to audit a material in thirty seconds
Select each Image Texture. Read the Color Space field; do not trust the pink preview. Switch roughness between sRGB and Non-Color while looking at an HDRI: if gloss jumps, you found the bug. A “dirty” wood often has albedo in Non-Color (too dark, crushed grain) or roughness in sRGB (wrong midtones). A metal that looks like grey plastic may have metallic in sRGB or not connected. Pink means a missing file path, not a color-space issue. After you fix spaces, group the nodes so the next Locker3d import inherits the same settings.
Engines use the same split
Unreal: sRGB on for Base Color, sRGB off for roughness, AO, metallic, and height; normals use the Normalmap setting. Unity: sRGB on for albedo, off for data; HDRP mask maps are linear. The names change; the rule does not. If you pack ORM, the packed file is data—never sRGB. That is why albedo never shares a file with roughness.
CC0 maps and a default you can reuse
Download sets from the Locker3d catalog. They are CC0; you can copy them into any project folder. License limits: CC0 textures: what you can and cannot do. More Blender checks live on the blog. Make a node group with albedo (sRGB) and three Non-Color sockets. The next wood, concrete, or metal is a file swap. If a pack looks inverted on roughness, it may be glossiness: invert that map only, and leave color space on Non-Color. Do not “fix” it by switching the node to sRGB.
Frequently asked questions
Which PBR maps should use sRGB in Blender?
Only albedo (Base Color / diffuse-named color). Roughness, metallic, normal, AO, and height use Non-Color (or Linear Rec.709 as data in Blender 4.x).
What happens if roughness stays in sRGB?
Blender applies a gamma curve to data that should be linear. Mid greys shift, so the surface looks too glossy, too dusty, or uneven in a way the map author never intended.
Is Non-Color the same as Linear Rec.709 in Blender 4?
For these maps, treat Non-Color as the usual choice. Some 4.x builds show Linear Rec.709 for data. Do not use sRGB on roughness or normals in either version.