Texture Channel Packer
Combine AO, roughness, metallic and other masks in one RGBA texture. Choose the layout your material expects. Your files are processed in this tab and aren’t uploaded.
Pick a preset if you want the common channel names, then drop maps onto the slots. Empty slots can use constants, and each slot can read luminance or a specific source channel. Tick invert for roughness-to-smoothness style swaps, check the channel previews, then download the packed PNG.
Why Pack Channels?
Packing several masks into one texture can reduce texture samples and simplify the material. The memory saving depends on the compression format, channel count and resolution, so compare the imported assets in your engine. The presets below cover common Unreal and Unity layouts; check your material’s inputs before using one.
Greyscale data should also be packed linear (sRGB off) in the engine - remember to untick sRGB when you import the packed texture, or your roughness values will be silently gamma-shifted.
The Presets
| Preset | R | G | B | A |
|---|---|---|---|---|
| Unreal ORM | Ambient occlusion | Roughness | Metallic | - |
| Unity HDRP Mask | Metallic | Ambient occlusion | Detail mask | Smoothness |
| Unity Metallic + Smoothness | Metallic | - | - | Smoothness |
Presets only relabel the slots and set sensible constants for empty ones (AO defaults to white, everything else to black) - they never touch your images. Coming from a PBR bake with roughness but targeting Unity's smoothness? Drop the roughness map in the A slot and tick inv - smoothness is just inverted roughness.
Empty slots export as their constant value, so you can pack a two-map texture (say metallic + smoothness) without hunting for filler images.
Keeping RGB data when alpha is low
Canvas processing can lose RGB precision when alpha is low. That matters when alpha stores a material mask rather than opacity. This tool writes the packed PNG from the channel data without passing the packed output back through a canvas. Check the exported channels and your engine’s compression settings before using the texture in a material.
Privacy
Your input files and calculations are processed in this browser tab. The tool doesn’t upload them. The site uses Google Analytics for site usage; see how the site works.
