Skip to content

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.

SettingValue
DestinationUnity HDRP
Filename Template{name}_{channel}
Normal ConventionOpenGL
HeightUnsigned container

Shown for a set named oak_bark with all eight roles (how to read these tables). A set with fewer roles writes fewer files.

FileWhat it holdsContainer and depthEncoding
oak_bark_BaseColor.pngBase Color in RGB, the set’s cutout in alphaPNG 8-bitColor
oak_bark_Normal.pngNormalPNG 16-bitPacked normal, OpenGL
oak_bark_Mask.pngPacked: R Metallic, G Ambient Occlusion, B detail mask constant 1.0, A smoothness (1 minus Roughness)PNG 8-bitLinear data
oak_bark_Height.pngHeight, remapped into 0 to 1 when it runs outside itPNG 16-bitLinear data
oak_bark_Emissive.pngEmissivePNG 8-bitColor

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 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.

  1. Select oak_bark_Normal and set Texture Type to Normal map. Apply.
  2. Select oak_bark_Mask and oak_bark_Height and untick sRGB (Color Texture). Apply.
  3. In the material, assign oak_bark_BaseColor to Base Map, oak_bark_Normal to Normal Map, oak_bark_Mask to Mask Map, oak_bark_Height to Height Map, and oak_bark_Emissive to the emissive map.

The panel’s Engine Import section repeats steps 1 and 2.

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.

Point Texture Folder at the folder and set Source to Unity HDRP, or leave it on Auto.

  • Mask unpacks 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 BaseColor alpha comes back as the set’s Opacity.