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:

  1. File → New
  2. Set Template to “Unreal Engine 4 (Metallic/Roughness)”, this pre-configures the channel outputs for UE5
  3. Select your low-poly FBX as the mesh file
  4. Set Document Resolution to 2048 (can upscale to 4K on export)
  5. 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

MapPurpose in TexturingEssential?
NormalSurface detail, simulates high-poly geometryYes
Ambient OcclusionPre-computed shadowing in crevicesYes
CurvatureEdge highlights and cavity masks for wear/tearYes
World Space NormalTriplanar projection, directional maskingRecommended
PositionHeight-based masking and gradientsRecommended
ThicknessSubsurface scattering on glass/plasticOnly 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 / _high suffixes
  • ☐ 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.

Similar Posts