Color Banding in Games
Visible steps in gradients and skies
Also known as: Banding in gradient · Banding sky · Banding Unity · Banding Unreal · Dithering fix banding · 8-bit banding
Quick answer
Color banding is the visible stepping in smooth gradients, such as skies, fog and vignettes, caused by too few color levels in 8-bit images. Add dithering or film grain so the steps become noise, use 16-bit sources for smooth textures such as height maps and gradients, and keep post-processing in higher precision. In Unity URP, switch on Dithering in the camera settings, and in Unreal use a little film grain or quantization.
How to fix it
Check whether the banding is in the texture, such as an exported sky or gradient, or created later by the engine's effects. Fix textures at the source with 16-bit exports and a little noise, and avoid heavy compression on gradients, since BC compression makes banding worse. HDR output and higher bit depth displays reduce it, but you cannot rely on them, so dither for standard displays.
Tools that use Color Banding in Games
See also
Bit Depth
8-bit, 16-bit and 32-bit textures
BC Compression
GPU texture compression formats
Tonemapping
HDR → display-range remapping
Texture File Formats (TGA, PNG, EXR)
Which image format to use for game textures
Volume (Post-Processing)
Unity post-processing and lighting overrides
Color Grading
Final color and contrast look of the image