Export Textures for Unity HDRP
This guide covers the Unity HDRP destination on Export Texture and the matching source on Texture Folder. The files are written for HDRP’s Lit shader, which reads one Mask Map instead of separate metallic, occlusion, and smoothness maps. For the Built-in render pipeline or URP, see Unity Built-in and URP.
| Setting | Value |
|---|---|
| Destination | Unity HDRP |
| Filename Template | {name}_{channel} |
| Normal Convention | OpenGL |
| Height | Unsigned container |
Files written
Section titled “Files written”Shown for a set named oak_bark with all eight roles (how to read these tables). A set with fewer roles writes fewer files.
| File | What it holds | Container and depth | Encoding |
|---|---|---|---|
oak_bark_BaseColor.png | Base Color in RGB, the set’s cutout in alpha | PNG 8-bit | Color |
oak_bark_Normal.png | Normal | PNG 16-bit | Packed normal, OpenGL |
oak_bark_Mask.png | Packed: R Metallic, G Ambient Occlusion, B detail mask constant 1.0, A smoothness (1 minus Roughness) | PNG 8-bit | Linear data |
oak_bark_Height.png | Height, remapped into 0 to 1 when it runs outside it | PNG 16-bit | Linear data |
oak_bark_Emissive.png | Emissive | PNG 8-bit | Color |
The Mask Map lanes
Section titled “The Mask Map lanes”The lanes are HDRP’s own: red metallic, green ambient occlusion, blue detail mask, alpha smoothness.
The blue lane is a constant 1.0 on purpose. HDRP uses 1 to display a detail texture and 0 to mask it, so a constant 1 means a detail map assigned later shows in full.
Ambient Occlusion and Opacity
Section titled “Ambient Occlusion and Opacity”Ambient Occlusion has no file of its own, because the Mask Map’s green lane is where HDRP reads it.
Opacity is not written as a file of its own either. HDRP reads transparency from the base color’s alpha, which is where the set’s cutout goes. The role is listed under Not written with an Add Map button.
After export
Section titled “After export”- Select
oak_bark_Normaland set Texture Type to Normal map. Apply. - Select
oak_bark_Maskandoak_bark_Heightand untick sRGB (Color Texture). Apply. - In the material, assign
oak_bark_BaseColorto Base Map,oak_bark_Normalto Normal Map,oak_bark_Maskto Mask Map,oak_bark_Heightto Height Map, andoak_bark_Emissiveto the emissive map.
The panel’s Engine Import section repeats steps 1 and 2.
HDRP’s separate detail map
Section titled “HDRP’s separate detail map”The detail map is a different file, and this destination does not write it. Its lanes are red desaturated albedo, green normal Y, blue smoothness, alpha normal X, with 0.5 neutral on red and blue.
A lane in the Files editor reads a whole role, a constant, or the set’s Opacity. There is no channel picker that takes one component out of a normal map, and no desaturation step, so the red, green and alpha lanes have to be prepared upstream as single-channel maps of their own before a row can write them.
Once they exist in the set as separate maps, build the file with Add Map, set each lane’s Source, and save the result as a preset. The blue lane can be filled directly, from Roughness with Transform set to Invert.
Reading it back
Section titled “Reading it back”Point Texture Folder at the folder and set Source to Unity HDRP, or leave it on Auto.
Maskunpacks into Metallic, Ambient Occlusion, and Roughness, with the alpha lane inverted back. The blue lane is a constant and is read as nothing.- An empty green lane is dropped rather than imported as a fully occluded map, and is listed as Skipped with the reason why.
- A cutout in the
BaseColoralpha comes back as the set’s Opacity.
References
Section titled “References”- Mask Map and Detail Map (Unity): the Mask Map channel table and the detail mask values.
- Normal map parameters (Unity): the Y+ (OpenGL) normal convention.