High-poly sculpts are full of detail — but they're also full of millions of polygons that game engines choke on. Retopology is how you turn a dense, unoptimized sculpt into a clean, deformable, engine-ready mesh without losing a pore, crease, or muscle edge. Skip this step and you'll be shipping 8M-polygon "characters" that crash mobile GPUs and break every deformation rig you try to apply.
Preparing Your High-Poly Sculpt
Before any retopology work starts, your high-poly needs to be stable and clean.
Apply all modifiers — if using Multires, keep the original hidden for baking. Set origin to geometry via Object > Set Origin > Origin to Geometry, then remove doubles in Edit Mode with Mesh > Merge by Distance. Check for non-manifold geometry using Select > Select All by Trait > Non Manifold and fix any open edges or interior faces before continuing.
If you're using Dyntopo (dynamic topology), the mesh will be dense and irregular — that's fine. The high-poly is your reference, not the export. Your retopo mesh lives on top of it.
Disable Dyntopo before moving forward and set the high-poly object's display viewport to Wireframe at low opacity so you can trace over it during retopo. Most importantly, apply your scale now — Ctrl+A > Apply Scale — before any retopology. Blender's Shrinkwrap modifier snaps vertices to the surface in world space, so a non-applied scale causes drift that only shows up after export.
Retopology Techniques — Manual Workflow vs. RetopoFlow
Two main approaches exist in Blender: the manual method using face-by-face modeling over the high-poly, and RetopoFlow (a third-party add-on with automated edge loop tools).
![]()
Manual retopology is slower but gives you full control over every polygon. The workflow:
- Add a new mesh object (Shift+A → Mesh → Plane) in front of the high-poly
- In Object Properties, enable In Front under Viewport Display
- Add a Shrinkwrap modifier (target = high-poly, Mode = Project, Negative + Positive checked)
- Add a Mirror modifier above Shrinkwrap for symmetric characters
- In Edit Mode, extrude and snap each face manually across the surface
Toggle wireframe with Alt+Z constantly to see how your topology aligns with the underlying form. Use the Snap tool set to Face Project with Project Onto Self disabled to keep new geometry glued to the high-poly surface.
RetopoFlow speeds this up with stroke-based tools — Contours, Patches, and Loops — that auto-generate edge loops along surface curves. It costs around $76 but saves significant time on organic characters with complex facial topology. For hard-surface assets (weapons, props, vehicles), manual retopo is often faster since the forms are planar and predictable.
Edge Flow Rules for Deforming Characters
For any asset that will be animated, topology isn't just aesthetic — bad edge flow breaks deformation at joints. These rules are non-negotiable:
```
Knee, elbow, wrist → minimum 3 edge loops in joint area
Eye socket → concentric rings around the lid
Mouth → circular loops tracking lip movement
Shoulder / hip → star-point termination NOT in deform zone
```
Poles (vertices where 3 or 5 edges meet) are unavoidable but must be placed strategically. A 5-pole on the cheek is fine; a 5-pole at the corner of the knee will pinch catastrophically under deformation.
The core rule: edge loops should follow muscle groups, not just surface form. Where the mesh bends, you need loops that can compress and stretch cleanly. Add holding loops one edge-width out from the main loop at every joint — these prevent the "candy wrapper" twist artifact that plagues rushed retopo jobs.
| Joint | Min. Edge Loops | Critical Rule |
|---|---|---|
| Knee / Elbow | 3 | Parallel, not radial |
| Shoulder | 4 | Avoid poles in the bend zone |
| Ankle | 2 | Extra loop on Achilles side |
| Finger (per knuckle) | 2 | 1 loop per phalanx boundary |
| Spine | 4–6 per segment | Evenly spaced for squash/stretch |
Baking High-Poly Detail to a Normal Map
Once your low-poly retopo mesh is complete, bake all that sculpted detail into a normal map — the texture game engines use to fake surface complexity without the polygon cost.
![]()
In Blender with the Cycles renderer:
- Select the low-poly, add a new Image Texture node in the Shader Editor — don't connect it — and target a new image (e.g. `character_normal_4096.png`). Keep this node active (selected).
- Go to Render Properties > Bake, set Bake Type to Normal, enable Selected to Active.
- Set Extrusion to ~0.02m (adjust per sculpt depth), then select high-poly first, shift-select low-poly, and bake.
```python
# Blender Python: automate normal map bake
import bpy
scene = bpy.context.scene
scene.render.engine = 'CYCLES'
scene.cycles.samples = 1 # Normal bake ignores samples
bpy.ops.object.bake(
type='NORMAL',
use_selected_to_active=True,
cage_extrusion=0.02,
normal_space='TANGENT'
)
```
Save the result as a 16-bit PNG or EXR — never JPEG. Compression artifacts destroy the subtle gradient information that makes lighting convincing on a low-poly surface. For characters larger than a hand prop, consider tiling the bake across UDIMs or using texture atlasing to stay within engine texture limits.
Exporting the Retopo Mesh to Unity, UE5, and Godot 4
Before export, run a final topology audit:
- [ ] No N-gons — all faces are tris or quads
- [ ] No interior faces or zero-area faces
- [ ] Scale applied (Ctrl+A > Apply Scale)
- [ ] Origin at feet for characters, centered for props
- [ ] Primary UV named UVMap, secondary (lightmap) named LightmapUV
- [ ] Normal map assigned to the correct UV channel in-engine
GLB/GLTF is the preferred format for Godot 4 and works across all three engines. FBX remains the standard for Unity and UE5 when you're using complex skeletons.
| Engine | Preferred Format | Normal Map Color Space |
|---|---|---|
| Unity URP | FBX or GLB | Linear — disable sRGB in import settings |
| Unreal Engine 5 | FBX | Linear — auto-detected on import |
| Godot 4 | GLB (GLTF 2.0) | Linear — set in texture import panel |
In Blender's export dialog, always enable Apply Modifiers and disable Export Materials if you're managing materials in the engine. For Godot 4, check +Y Up — Godot uses Y-up by default and FBX's Z-up will rotate your character 90 degrees on import.
If you need a clean, game-ready base mesh without starting from a raw sculpt, the BitSoul marketplace has pre-retopologized character meshes and rigged base bodies ready to drop into your pipeline.
Wrapping Up
Retopology is the bridge between artistic freedom and technical reality. A well-retopologized mesh deforms cleanly, renders efficiently, and gives baked normal maps a surface they can actually express detail on. Master edge flow rules, use Shrinkwrap and Mirror to build fast, and always bake against your final low-poly — never a decimation shortcut.
For pre-built, optimized character meshes and game assets that skip the retopo step entirely, browse the BitSoul marketplace.