Back to guides

How To Prepare RMA Maps for Unity

Prepare roughness, metallic, and ambient occlusion maps for a Unity workflow that expects RMA-style packed textures.

An RMA workflow for Unity is successful when the target material and naming conventions are clear before export. The browser step is useful for inspecting channels, not just for clicking pack.

Why teams use RMA in Unity workflows

Teams use RMA layouts when the project, shader graph, or in-house material system expects roughness, metallic, and ambient occlusion in a specific order. The advantage is fewer texture files and a cleaner import story.

The challenge is that not every Unity project expects the same layout, so the target contract should be confirmed first.

What to check before export

Confirm that the source roughness, metallic, and AO maps are actually usable for runtime. If one map is wrong, missing, or still needs cleanup, packing early only hides the problem inside the final texture.

This is why inspecting grayscale inputs before packing is often faster than debugging a broken material later in Unity.

A practical preparation flow

A practical flow is: inspect or extract relevant grayscale data, assign the target RMA channel order, export the packed result, and validate it in the shader environment that will actually consume it.

If the Unity pipeline still expects smoothness instead of roughness, handle that conversion explicitly rather than assuming the file name already matches the target material rule.

Where teams lose time

The most common time loss comes from mixing terminology across pipelines. A map set described one way in authoring can still be packed in a different order or interpretation by the time it reaches runtime. The browser step is most useful when it makes that ambiguity visible early.

FAQ

Does every Unity project expect the same packed layout?

No. The correct layout depends on the project, shader graph, and team convention.

Should I pack before I know the target shader behavior?

No. Packing before the target rule is clear usually creates avoidable debugging work later.

What should I check if the material looks wrong after import?

Go back to the packed channel order and confirm each source grayscale map before changing the shader.

Tools To Use Next