Texturing Guides
These guides cover sending a texture set out of ArcBrush and reading one back in, one destination at a time. Export Texture writes a set as one folder of files, and its Destination decides what the files are called, which maps share a file, and which conventions they use. Texture Folder reads the same list backwards: pick the matching Source and every role comes back.
Each guide lists the exact files written, what every packed file holds, and the steps to take in the receiving tool. Inside ArcBrush, picking the destination is the only setting. How texture sets work in general is in Texture Sets.
Which guide do I need
Section titled “Which guide do I need”| You are sending the asset to | Pick this Destination | Files for a full set | Packed files |
|---|---|---|---|
| Back into ArcBrush, or a folder you will re-import | ArcBrush | 8 | none |
| Substance 3D Painter | Substance Painter | 7 | none |
| Blender, with Node Wrangler’s Principled Texture Setup | Blender | 8 | none |
| A folder that reads like a Poly Haven download | Poly Haven | 9 | arm |
| A folder that reads like an ambientCG download | ambientCG | 8 | none |
| A folder that reads like a Megascans download | Megascans | 7 | none |
| A glTF or GLB material | glTF | 4 | metallicRoughness |
| Unity, Built-in render pipeline or URP | Unity Built-in and URP | 6 | MetallicSmoothness |
| Unity, High Definition Render Pipeline | Unity HDRP | 5 | Mask |
| Unreal Engine | Unreal | 5 | ORM |
| Godot | Godot | 5 | orm |
| A studio convention of your own | Your own destination | yours | yours |
The same list works for import, except Blender, which is export only and reads back as ArcBrush. To bring a downloaded material in, point Texture Folder at the folder and leave Source on Auto (the line under the combo says what it matched and by how much), or pick the source by name. Each guide ends with a section on reading its folder back.
How to read these guides
Section titled “How to read these guides”Every table writes the same imaginary asset: a set named oak_bark carrying all eight roles (Base Color, Normal, Roughness, Metallic, Ambient Occlusion, Height, Opacity, and Emissive). A set with fewer roles writes fewer files, and a row whose every map is missing reads Not written: not in this set where its file name would be.
File names come from the Filename Template, {name}_{channel} everywhere except Unreal (T_{name}_{channel}). {channel} is the row’s Channel Name, which is editable, so a studio convention that differs by one name is one edit away. Put {name} in the Folder path too and each asset of a library gets a folder of its own. Every template token is listed on Export Texture.
Containers and depths
Section titled “Containers and depths”The tables show the automatic choice: 8-bit PNG for Base Color and Emissive, 16-bit PNG for the Normal and every grayscale map, 16-bit (half) EXR for a Height that runs below zero or above one, and 8-bit PNG for every packed file, because that is what the engines and formats in these guides read.
The four engine destinations (both Unity entries, Unreal, and Godot) write Height into an ordinary unsigned image, because none of them samples a float container for height. A height outside 0 to 1 is remapped into that range, and the panel reports the two numbers that undo the remap.
Encoding
Section titled “Encoding”The Encoding column says how each file’s values are stored. The panel’s Engine Import section lists the same split for the set you have connected, as Data files (read as linear, never sRGB): ... and Color files (sRGB): ...:
- Color: sRGB in an ordinary image, working-space values in a float one (Base Color and Emissive).
- Packed normal: in the convention the destination reads.
- Linear data: exactly the numbers the map holds (Roughness, Metallic, Ambient Occlusion, Height, Opacity, and every packed file). These are the files to untick sRGB on in an engine.
A packed file with three lanes (ORM, orm, arm, metallicRoughness) is written as an RGB image with no alpha channel, in every format. A packed file with a fourth lane, such as Unity’s MetallicSmoothness or HDRP’s Mask, keeps its alpha, because that is where the fourth lane is.
Opacity
Section titled “Opacity”A set has one Opacity, its cutout, and it follows the destination’s own rows:
- Where the destination has an Opacity file (ArcBrush, Substance Painter, Blender, Poly Haven, ambientCG, Megascans), any set that is not fully opaque writes its Opacity there.
- Where it has none but its color file declares an alpha lane (every engine destination does), the Opacity is written into the color file’s alpha.
- A fully opaque set writes no Opacity at all.
The panel’s Opacity row names what Auto resolved to; the four explicit choices all write the same Opacity. A declared alpha lane always holds the Opacity where it is delivered there and full opacity elsewhere, never the color map’s own alpha, so Texture Folder can read it back as the set’s Opacity without guessing.
Leaving a file out
Section titled “Leaving a file out”Untick the box at the start of a row to drop that file from this export; the row fades, reads Not written: turned off, and keeps its settings. That is how a Poly Haven folder goes out without its packed arm. Unticking is not an edit to the destination, so the combo keeps its name, and a preset always saves every row turned on. Untick every row and Export reports Every map is turned off.
Adding a map and changing a destination
Section titled “Adding a map and changing a destination”A role the destination has no slot for is listed under the table as Not written: <role> (<destination> has no slot for it), with an Add Map button. Adding it, or editing a name, lane, container, template, or Normal convention, flips the Destination combo to Custom, since the folder no longer matches the destination. Save as Preset… keeps the result under your own name on both nodes. See Your own destination.