Texturing & materials · Intermediate

Channel packing

Storing several grayscale maps in the color channels of one image

Also called Texture packing

What is channel packing?

Channel packing is storing up to four grayscale maps in one image, one in each of its red, green, blue and alpha channels. A single packed texture can hold ambient occlusion, roughness and metallic together, which saves memory and cuts the number of files an engine loads.

Think of it like this

It is like a weekly pill organizer: one box, but each compartment holds something different, and you always know which slot is which.

Where it fits in a 3D project

  1. Create
  2. Surface
  3. Rig
  4. Animate
  5. Render
  6. Export

Surface: Giving the shape its color and material: UVs, textures and shaders.

How channel packing works

  1. 01Pick grayscale maps that share the same resolution and UVs.
  2. 02Copy each one into its own channel: red, green, blue or alpha.
  3. 03In the material, read each channel separately and wire it to the right input.

Where channel packing is used

  • Game engines that expect ORM or similar packed maps
  • Cutting texture memory on mobile and web
  • Fewer files to manage for each asset

Beginner tip

Name the file by its packing order, such as _ORM, so nobody has to guess. Set packed maps to non-color data, or the app will shift their values.

Channel packing FAQ

What is an ORM texture?
A channel-packed image with ambient occlusion in red, roughness in green and metallic in blue. ORM stands for occlusion, roughness, metallic. It is a common layout for PBR assets.
Why pack textures into RGB channels?
A grayscale map saved as a normal image leaves its other channels doing nothing. Packing three or four maps into one image cuts file count, memory and texture reads, which helps games run faster.
Can I channel pack a normal map?
Usually not. A normal map already uses its color channels to store direction, so keep it as its own image.

Updated October 29, 2026 · Browse all 3D terms