High polygon counts are the fastest way to tank your game's frame rate. Whether you're importing a scan, a sculpt, or a downloaded asset, you'll eventually need to reduce geometry without destroying the silhouette or breaking UV maps. Blender's Decimate modifier does this non-destructively — and knowing which of its three modes to use saves hours of manual retopology.
What Is Mesh Decimation and When Should You Use It?
Decimation is the automated process of reducing a mesh's triangle or face count by merging vertices and collapsing edges algorithmically. It differs fundamentally from manual retopology: retopology produces clean, artist-controlled edge flow suited for animation; decimation is fast and suitable for static props, distant LODs, collision meshes, and any geometry where silhouette matters more than topology.
Use decimation when:
- Converting a high-poly sculpt into a game LOD without full retopology
- Reducing an imported scan or photogrammetry asset
- Creating collision meshes (topology does not matter, only volume)
- Generating LOD1-LOD3 meshes from an existing LOD0
Do not use decimation when:
- The mesh needs to deform (character limbs, cloth)
- You need clean loops for edge-split shading
- UVs must remain pixel-perfect
![]()
The Three Decimate Modes in Blender
Blender's Decimate modifier (Properties > Modifier Properties > Add Modifier > Decimate) offers three algorithms. Each targets a different geometry problem.
### Collapse
The default and most versatile mode. Collapses edge pairs to reduce total face count by a target Ratio (0.0-1.0). A ratio of `0.25` keeps 25% of the original face count.
Key options:
- Symmetry: preserves bilateral symmetry, essential for characters
- Vertex Group: limit decimation to a specific vertex group, protecting dense areas like faces or hands
- Triangulate: output is all tris (required for most game engines anyway)
Best for: general-purpose polygon reduction on any mesh.
### Un-Subdivide
Reverses a Subdivision Surface modifier by merging faces back to a lower subdivision level. Only works correctly on meshes that were originally subdivided.
Iterations controls how many subdivision levels to reverse. An iteration of `2` on a subdiv-3 mesh brings you back to subdiv-1 topology.
Best for: assets built with Subdivision Surface that you forgot to keep a low-poly version of.
### Planar
Merges coplanar faces based on an Angle Limit. Any two adjacent faces within that angle of each other get merged into a single n-gon, then triangulated.
Best for: hard-surface CAD imports and architectural geometry where flat surfaces are unnecessarily subdivided.
```python
# Blender Python: apply Decimate via script (useful for batch processing)
import bpy
def decimate_object(obj, ratio=0.25, use_symmetry=False):
mod = obj.modifiers.new(name='Decimate', type='DECIMATE')
mod.decimate_type = 'COLLAPSE'
mod.ratio = ratio
mod.use_symmetry = use_symmetry
bpy.ops.object.modifier_apply(modifier=mod.name)
return obj
for obj in bpy.context.selected_objects:
if obj.type == 'MESH':
decimate_object(obj, ratio=0.3)
```
Decimation Workflow Checklist Before Export
Running Decimate without prep causes UV seams, shading artifacts, and broken normals. Follow this checklist before applying.
| Step | Action | Why |
|------|--------|-----|
| 1 | Apply scale (Ctrl+A > Scale) | Prevents asymmetric decimation on non-uniform scale |
| 2 | Merge by distance (M in Edit Mode) | Removes duplicate verts that cause collapse artifacts |
| 3 | Recalculate normals (Shift+N) | Ensures Decimate reads face orientation correctly |
| 4 | Mark sharp edges | Preserved through Collapse if edge split is applied first |
| 5 | Duplicate the object (Shift+D) | Keep your LOD0, Decimate is destructive on apply |
| 6 | Set ratio conservatively | Start at 0.5, check silhouette, go lower if needed |
| 7 | Apply modifier | Do not export with unapplied modifiers |
| 8 | Re-check UVs | Check for overlapping islands caused by collapsed edges |
![]()
Exporting Decimated Assets to Unity, UE5, and Godot 4
Once decimated, each engine handles the GLB or FBX slightly differently.
### Unity (URP/HDRP)
Export as GLB from Blender. In Unity, set Read/Write Enabled off and Mesh Compression to Medium or High on the import settings. If you have multiple LODs, use Unity's LOD Group component and assign each decimated mesh to an LOD slot.
### Unreal Engine 5
UE5's Nanite can handle high-poly meshes, but Nanite has overhead. For small props and foliage, traditional LODs with decimated meshes still outperform Nanite. Import via FBX or GLB, then in Static Mesh Editor > LODs, assign your decimated meshes at LOD1-LOD3. Set Screen Size thresholds (LOD1 at 0.25, LOD2 at 0.1).
### Godot 4
Godot 4 supports GLTF2 (GLB) natively. For LOD switching, use Godot's built-in visibility ranges on GeometryInstance3D nodes (`lod_min_distance`, `lod_max_distance`) — no extra plugins needed.
Target Polygon Budgets
| Platform | LOD0 (near) | LOD1 (mid) | LOD2 (far) |
|----------|-------------|------------|------------|
| Mobile | 500-1,500 | 200-500 | 50-150 |
| PC/Console | 2,000-8,000 | 500-2,000 | 100-500 |
| VR | 1,000-3,000 | 300-800 | 50-200 |
Common Decimation Mistakes and Fixes
Shading blotches after decimation: The Collapse algorithm can flip face normals on thin geometry. Fix: recalculate normals after applying (Edit Mode > Mesh > Normals > Recalculate Outside).
UV seam stretching: Collapsed edges near UV seams cause texture stretching. Fix: mark seam edges as sharp before decimating, or pin UV islands and check after.
Mesh looks identical despite ratio change: The mesh may already be minimally triangulated. Un-Subdivide will not work on non-subdivided meshes. Switch to Collapse mode.
Symmetry breaks: Enable Symmetry in Collapse mode and set the axis. If the mesh is not centered at origin, apply location first.
Download Optimized 3D Assets from BitSoul
Not every project has time for manual optimization. The BitSoul Marketplace stocks game-ready GLB assets already decimated and LOD-prepped for Unity, UE5, and Godot 4 — drop them in and ship.
Browse the full catalog at bitsoulhosting.com/marketplace and filter by engine, polygon budget, and format.