Texel Tools

ORM Packer

Occlusion, roughness and metallic are each a single channel of grayscale. Shipping them as three separate images wastes most of the memory you pay for. Packed into one RGBA texture they cost one slot and one sample instead of three.

Pick a source image per channel and this builds the packed map. Unreal expects occlusion in red, roughness in green and metallic in blue. Unity and glTF use their own orders, so set the channels to match whatever you are importing into. Alpha is left free if you want to carry a height or detail mask there.

What is the difference between ORM and RMA?

Only the order. ORM is occlusion, roughness, metallic. RMA is roughness, metallic, ambient occlusion. Set the channel sources to match the one your engine wants.

Should a packed map be imported as sRGB?

No. These are values, not colors. Import the packed texture as linear or non-color, otherwise the engine bends the numbers with a gamma curve.

My maps are different sizes.

Resize them to match first. Scaling a roughness or metallic map is a quality call, so this will not guess one for you.

Related: Channel Split · Rough ↔ Gloss · AO & Curvature