New: 12 free tools for Unreal Engine and Unity developers.Try them →

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
R
    G
      B
        A

          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

          1. Pick a preset for your engine: Unreal ORM, Unity URP or Unity HDRP.
          2. Drop each map into its slot. The slot names change with the preset, so you always know what goes where.
          3. Leave unused slots empty. They are filled with the value in "If empty", for example white for AO (no occlusion) or black for metallic.
          4. Press Pack, check each channel in the preview and download the PNG.

          Channel layouts by engine

          EngineRGBA
          Unreal ORMAORoughnessMetallic–
          Unity URP LitMetallicOcclusion–Smoothness
          Unity HDRP Mask MapMetallicAODetail maskSmoothness

          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