ORM Texture
Occlusion / Roughness / Metalness packed into one map
Also known as: ORM · Packed PBR map · RMA
Definition
An ORM texture packs three grayscale PBR maps — ambient Occlusion, Roughness, and Metalness — into the R, G, and B channels of a single image. This cuts texture samples and memory by two-thirds compared to using three separate maps. ORM is the de facto standard for Unreal Engine PBR exports; Unity URP/HDRP uses a similar packing called MaskMap (with different channel order).
In production
Substance Painter's default Unreal Engine 4 export preset packs Occlusion into R, Roughness into G, and Metallic into B automatically, which is why most marketplace assets and Quixel Megascans surfaces ship with an "_ORM" suffix rather than three separate PNGs. Unity's HDRP/URP MaskMap reorders the channels — Metallic in R, Occlusion in G, Detail Mask in B, Smoothness in A — so a texture packed for Unreal will render incorrectly in Unity until the channels are remapped, a frequent gotcha when porting asset packs between engines. Because ORM packs three grayscale maps instead of three RGB maps, memory drops from roughly 3x a same-resolution RGB texture to about 1x, which matters directly for mobile and VR texture budgets. Some engines also reserve the alpha channel for a fourth mask (detail or subsurface), so artists need to check the target pipeline's channel spec before baking rather than assuming the standard RGB order.
Learn ORM Texture in
Tools that use ORM Texture
See also
Channel Packing
One texture, multiple maps
PBR
Physically Based Rendering
Roughness Map
Surface microfacet detail
Metalness Map
Conductor vs dielectric switch
Ambient Occlusion
Soft contact shadows
Master Material
Parent material that spawns instances
Substance Painter Export Settings for Unreal and Unity
Which preset, size and format to use