Export Textures for Unity (Built-in and URP)
This guide covers the Unity Built-in / URP destination on Export Texture and the matching source on Texture Folder. The files are written for Unity’s Standard shader and for URP’s Lit shader, which read smoothness from the alpha of the metallic map. For the High Definition Render Pipeline, see Unity HDRP.
| Setting | Value |
|---|---|
| Destination | Unity Built-in / URP |
| 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_BaseMap.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_MetallicSmoothness.png | Packed: R Metallic, G Ambient Occlusion, B constant 0.0, A smoothness (1 minus Roughness) | PNG 8-bit | Linear data |
oak_bark_Occlusion.png | Ambient Occlusion | PNG 16-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_Emission.png | Emissive | PNG 8-bit | Color |
Why occlusion is written twice
Section titled “Why occlusion is written twice”Unity documents red metallic, green occlusion, alpha smoothness as one channel-packed RGBA texture, so MetallicSmoothness can fill both the Metallic Map and the Occlusion Map slot. The separate grayscale Occlusion file is written too, for anyone who prefers one; untick its row if you do not want it.
Smoothness, not roughness
Section titled “Smoothness, not roughness”The alpha lane is written as 1 minus the set’s Roughness. A set with no Roughness map writes smoothness 0, which reads fully rough rather than mirror smooth.
Opacity
Section titled “Opacity”Opacity is not written as a file of its own. Unity reads transparency from the base map’s alpha, which is where the set’s cutout goes. The panel lists the Opacity role under Not written with an Add Map button if you want the separate file anyway.
After export
Section titled “After export”- Select
oak_bark_Normalin the Project window and set Texture Type to Normal map. Apply. - Select
oak_bark_MetallicSmoothness,oak_bark_Occlusion, andoak_bark_Heightand untick sRGB (Color Texture). Apply. Unity treats a texture as sRGB color unless its import settings say otherwise, and a data map read as color comes out wrong. - In the material, assign
oak_bark_BaseMapto Base Map,oak_bark_Normalto Normal Map,oak_bark_MetallicSmoothnessto Metallic Map,oak_bark_Occlusionto Occlusion Map, andoak_bark_Heightto Height Map. - Set Smoothness Source to Metallic Alpha, which is URP’s default, so the smoothness written into the alpha lane is the one being read.
The panel’s Engine Import section repeats steps 1, 2, and 4.
Reading it back
Section titled “Reading it back”Point Texture Folder at the folder and set Source to Unity Built-in / URP, or leave it on Auto.
MetallicSmoothnessunpacks into Metallic, Ambient Occlusion, and Roughness, with the alpha lane inverted back on the way in.- Because the separate
Occlusionfile is also there, the separate file wins for Ambient Occlusion and the packed green lane is listed as Skipped. - When there is no
Occlusionfile and the green lane is empty, which is what aMetallicSmoothnesswritten without occlusion carries, that lane is dropped rather than imported as a fully occluded map. - A cutout in the
BaseMapalpha comes back as the set’s Opacity.
Worth checking
Section titled “Worth checking”- Occlusion and height read from the green channel, and Unity says so only in shader source. Unity’s Built-in manual pages for the Occlusion map and the Height map describe the maps as grayscale and name no channel. The separate grayscale
OcclusionandHeightfiles are the safe form, and they are what step 3 assigns. If you assign the packed file to the Occlusion slot instead, check the result. - Unity publishes no texture file naming convention. The names above are ArcBrush’s, chosen to read as Unity’s own material property names. Rename the rows to your project’s convention and save the result as a preset.
References
Section titled “References”- Channel-packed textures in URP (Unity).
- Standard Shader material parameters (Unity): smoothness in the metallic map’s alpha.
- Metallic mode parameters (Unity): the red and alpha channel split.
- URP Lit shader (Unity): Metallic Alpha as the default smoothness source.
- Normal map parameters (Unity): the Y+ (OpenGL) normal convention.