Substance Painter for Game Artists: Baking and Texturing from Scratch
Substance Painter is the industry-standard texturing tool for game assets. Its baking system, the process of transferring high-poly detail onto game-ready texture maps, is the bridge between your 3D models and the final in-game result.
Get baking wrong and your normals will have seams, your AO will look muddy, and your textures will fall apart in the engine. Get it right and your low-poly mesh will fool players into thinking it has geometry it doesn’t.
What Baking Actually Does
Baking is the process of projecting high-poly surface information onto the UV space of your low-poly mesh. The result is a set of 2D texture maps that encode 3D information, surface direction (normal map), occlusion, curvature, and more.
When the game engine applies these maps to your low-poly mesh at runtime, the lighting reacts as if the surface has the geometry of the high-poly, even though the actual mesh is a fraction of the polygon count.
Preparing Your Meshes for Baking
Baking quality depends almost entirely on preparation. Skipping these steps causes 80% of baking artifacts.
Naming Convention: Mesh Matching
Substance Painter uses a suffix-based naming system to automatically match high-poly meshes to their low-poly counterparts:
- Low-poly:
Weapon_Body_low - High-poly:
Weapon_Body_high
When you import both meshes with matching names (differing only in _low / _high), Substance Painter automatically pairs them for baking. This eliminates manual assignment and significantly reduces projection errors.
Exploding Your Mesh
When multiple mesh pieces are close together, their high-poly geometry can bleed into each other’s bake, causing “projection errors” that look like dark patches or incorrect normals.
The solution: explode your mesh before baking. Move each component away from its neighbors so they’re completely separated in space. After baking, reassemble. Many artists keep a saved “exploded” scene for rebaking.
UV Lightmap Padding
UV islands must have sufficient padding between them to prevent color bleeding between islands at lower mip levels. For 2K textures, use at least 4–8 pixels of padding. For 4K, 8–16 pixels. Set this in your UV unwrap settings before export.
Smooth Normals on the Low-Poly
Set your low-poly mesh to smooth shading before export. Hard normals on the low-poly create visible seams in the baked normal map. The exception: hard edges where you’ve also placed UV seams, Blender’s “Auto Smooth” or split normals handle this correctly.
Importing Into Substance Painter
Create a new project in Substance Painter:
- File → New
- Set Template to “Unreal Engine 4 (Metallic/Roughness)”, this pre-configures the channel outputs for UE5
- Select your low-poly FBX as the mesh file
- Set Document Resolution to 2048 (can upscale to 4K on export)
- Check “Import cameras” if you want viewport matching
After the project loads, go to Edit → Project Configuration and add your high-poly FBX under “High Definition Meshes” if you want to use Substance’s built-in baker.
The Baking Settings (Texture Set → Bake Mesh Maps)
Output Size
Bake at your target resolution or higher. Baking at 4K and downscaling to 2K on export gives better quality than baking at 2K directly. For production work, bake at 4K minimum.
Antialiasing
Set to Subsampling: 4×4 for final bakes. This dramatically reduces jagged edges on normal map seams and AO edges. For test bakes, use 1×1 to save time.
Max Frontal / Rear Distance
These control how far the baker projects rays from the low-poly surface. Start with default values and adjust if you see projection errors:
- Too low: high-poly details don’t get captured (missing detail in the normal map)
- Too high: rays pass through the mesh and capture the wrong surface (dark blobs, inverted normals)
Average Normals
Keep this on for most assets. It smooths the normal map across UV seams, eliminating the visible seam lines that appear when each island is baked independently.
Essential Maps to Bake
| Map | Purpose in Texturing | Essential? |
|---|---|---|
| Normal | Surface detail, simulates high-poly geometry | Yes |
| Ambient Occlusion | Pre-computed shadowing in crevices | Yes |
| Curvature | Edge highlights and cavity masks for wear/tear | Yes |
| World Space Normal | Triplanar projection, directional masking | Recommended |
| Position | Height-based masking and gradients | Recommended |
| Thickness | Subsurface scattering on glass/plastic | Only if needed |
Diagnosing and Fixing Baking Artifacts
Visible UV Seams in Normal Map
Cause: UV islands baked independently with mismatched normals at borders.
Fix: Enable “Average Normals” in bake settings. Also check that your low-poly has consistent smooth shading with proper split normals at seam edges.
Dark Blobs or Smearing
Cause: High-poly geometry from a neighboring mesh piece is being captured by the baker.
Fix: Explode your mesh further, or use per-object baking with the _low/_high naming convention to isolate each piece.
Inverted Normal Map Patches
Cause: The bake ray is hitting the inside of the mesh instead of the outside (normals flipped on high-poly, or rear distance too high).
Fix: Check high-poly face normals in Blender (overlay → Face Orientation, all blue = correct). Reduce Max Rear Distance in bake settings.
Pixelated or Jagged Edges
Cause: Insufficient antialiasing or too-small UV padding.
Fix: Bake with Subsampling 4×4. Increase UV padding to at least 8px for 2K textures.
Texturing After Baking
Once your maps are baked, Substance Painter uses them automatically in its smart material and smart mask system:
- Curvature map drives edge wear, brighter = more worn, add rust/scratches automatically at edges
- AO map drives cavity dirt, darker = more occluded, add grime in crevices automatically
- Position map creates height gradients, bottom of asset gets dirt, top stays clean
This procedural approach means you can texture a complex prop in minutes once the bakes are clean. The baking quality directly determines how good your smart materials look, clean bakes make everything downstream easier.
Baking Checklist
- ☐ Low-poly and high-poly named with
_low/_highsuffixes - ☐ Mesh exploded (components separated) before baking
- ☐ UV padding set to minimum 4px for 2K, 8px for 4K
- ☐ Low-poly has smooth normals / correct split normals at seams
- ☐ High-poly face normals verified (all outward-facing)
- ☐ Bake resolution: 4K with 4×4 antialiasing for final bake
- ☐ Normal map: no visible seam lines in Substance viewport
- ☐ AO map: no dark blobs from neighboring geometry
- ☐ Curvature map: edge highlights visible on raised edges
- ☐ Maps exported and verified in UE5 with correct settings
Baking is a skill that compounds, every artifact you diagnose and fix teaches you something that prevents the same issue on your next asset. After a dozen clean bakes, the process becomes instinctive.
