Texture Channel Packer
Pack AO, roughness and metallic into one texture: Unreal ORM, Unity URP and HDRP Mask Map presets.
- ✓ Free, no sign-up
- ✓ Works for Unreal Engine & Unity
- ✓ Files processed securely, never stored
Processed on our server. Files are never stored.
Why pack textures?
Roughness, metallic and ambient occlusion are greyscale, so each only needs one channel. Packing them into one RGBA texture means one texture sample instead of three, less memory and faster materials. It is standard practice in professional pipelines.
How to use the packer
- Pick a preset for your engine: Unreal ORM, Unity URP or Unity HDRP.
- Drop each map into its slot. The slot names change with the preset, so you always know what goes where.
- Leave unused slots empty. They are filled with the value in "If empty", for example white for AO (no occlusion) or black for metallic.
- Press Pack, check each channel in the preview and download the PNG.
Channel layouts by engine
| Engine | R | G | B | A |
|---|---|---|---|---|
| Unreal ORM | AO | Roughness | Metallic | – |
| Unity URP Lit | Metallic | Occlusion | – | Smoothness |
| Unity HDRP Mask Map | Metallic | AO | Detail mask | Smoothness |
Smoothness = 1 − Roughness. Unity presets invert your roughness map automatically. If you already have a smoothness map, untick Invert on the alpha slot.
Import settings
- Unreal: Compression Settings Masks (no sRGB) and untick sRGB.
- Unity URP: untick sRGB (Color Texture), assign the texture to both Metallic and Occlusion, and keep Smoothness Source on Metallic Alpha.
- Unity HDRP: untick sRGB and assign the texture to the Mask Map slot.
Common mistakes
- Leaving sRGB on, which gamma-shifts every value.
- Forgetting to invert roughness for Unity.
- Using a black default for AO, which makes the whole surface look fully occluded.
The full guide with step-by-step material setup: Texture Channel Packing: Unreal ORM vs Unity Mask Maps.
FAQ
What is an ORM texture in Unreal Engine?
ORM packs Ambient Occlusion in red, Roughness in green and Metallic in blue. One texture sample replaces three, which saves memory and shader cost.
What is the Unity HDRP Mask Map layout?
Red = Metallic, Green = Ambient Occlusion, Blue = Detail Mask, Alpha = Smoothness. Unity uses smoothness, which is the inverse of roughness, so the roughness map is inverted automatically.
What layout does Unity URP use?
The URP Lit shader reads Metallic from red, Occlusion from green and Smoothness from alpha of the same texture. Assign the packed texture to both the Metallic and Occlusion slots.
Should packed textures be sRGB?
No. Packed masks hold data, not colour. Untick sRGB in Unreal and Unity (Unity: turn off "sRGB (Color Texture)").
More free tools
Normal Map Generator
Turn a height map or texture into a normal map. DirectX for Unreal, OpenGL for Unity, seamless tiling.
Open tool →Sprite Sheet Packer
Pack hundreds of sprites into atlases with trimming, padding and extrusion. Exports JSON for Paper2D and more.
Open tool →Power of Two Texture Resizer
Batch resize textures to power-of-two sizes, convert to PNG, JPG or WebP and shrink file sizes.
Open tool →