← Back to Blog 3d-modeling

Collision Mesh Workflows for Game Assets: Blender, Unity, Unreal Engine 5, and Godot 4

By BitSoul Team6/27/2026Updated 8/1/20266 min read101 views
Collision Mesh Workflows for Game Assets: Blender, Unity, Unreal Engine 5, and Godot 4

Auto-generated collision shapes are one of the most common sources of invisible performance drag in game projects. Unity's automatic mesh collider, UE5's complex collision, and Godot's default trimesh — all of them silently wreck your physics budget while your frame rate tells you something else is wrong. This guide walks through the complete collision mesh workflow: building accurate, minimal collision in Blender and wiring it up correctly in all three major engines.

Why Collision Meshes Matter More Than You Think

Physics engines don't use your render mesh for collision — or they shouldn't. When you drop a complex rendered mesh (say, a 4,000-triangle sci-fi crate with bolts, panels, and chamfers) directly into a physics simulation, the engine must test every triangle on every physics tick. At 60 Hz with 50 dynamic objects, that math compounds fast.

The rule of thumb: a collision mesh should be 5–15% the triangle count of its render mesh. A 4,000-tri asset should collide with a 50–200-tri approximation. The player won't notice the difference. The GPU will.

There are three categories of collision shape, each with a different cost profile:

| Shape Type | Physics Cost | Best Use Case |
|---|---|---|
| Primitive (box/sphere/capsule) | Lowest | Crates, barrels, characters |
| Convex hull | Low–medium | Irregular props, vehicles |
| Trimesh (concave) | High | Terrain, level geometry (static only) |

Use primitives whenever you can. Use convex hulls when primitives don't fit. Reserve trimesh for static, immovable geometry only — never on dynamic rigid bodies.

Collision Shape Types: Box, Sphere, Convex Hull, and Custom Mesh

Understanding when to use each shape type is more valuable than knowing how to build any single one.

Box and sphere primitives are handled analytically by the physics engine — no triangle queries, just math. Unity's BoxCollider, UE5's Box Collision component, and Godot's BoxShape3D all resolve in constant time regardless of object orientation. If your asset is roughly box-shaped (a crate, a wall segment, a building block), use a box collider and call it done.

Convex hulls are the workhorse of prop collision. A convex hull wraps your mesh in the smallest convex shape that contains it — imagine shrink-wrapping a hand grenade: the hull won't dip into the grooves, but it will match the overall silhouette closely. The key constraint: convex shapes cannot have concavities. A donut cannot be represented by a single convex hull — it requires compound shapes.

Compound collision combines multiple primitives or convex hulls to approximate a concave object. A table is a perfect example: one flat box for the top, four thin boxes for the legs. This is dramatically cheaper than a trimesh and allows dynamic physics.

Custom trimesh (also called complex collision in UE5) performs per-triangle intersection tests. It's the most accurate and the most expensive. Use it only on static world geometry: floors, terrain, architectural meshes that never move.

Collision Shape Types: Box, Sphere, Convex Hull, and Custom Mesh — illustrated

Building Collision Meshes in Blender

Blender has no dedicated collision workflow, but the conventions it uses for FBX export (and GLB naming) are universally supported by Unity, UE5, and Godot.

The naming convention

For FBX export to Unity and UE5, prefix your collision mesh object names:

```
UCX_PropName_01 → convex hull (Unity + UE5)
UBX_PropName_01 → box collision (UE5)
USP_PropName_01 → sphere (UE5)
```

Godot uses GLB and reads collision meshes from a different convention — suffix your mesh names with -col for a static trimesh or -convcolonly for a convex hull:

```
MyStonePillar-convcolonly → convex hull in Godot
MyFloorTile-col → trimesh in Godot
```

The workflow

  1. Start from your render mesh. In Object Mode, Shift+D to duplicate, then move to a new collection named Colliders.
  2. Decimate aggressively. Apply a Decimate modifier (Collapse mode) targeting 5–10% of the original face count. For a 3,000-tri mesh, aim for 60–150 tris.
  3. Manually fix problem areas. Select and delete interior loops, support loops, and purely cosmetic geometry. Use Alt+Click to select edge rings and X → Dissolve Edges to remove them without creating holes.
  4. For convex hulls: In Edit Mode, select all, then Mesh → Convex Hull. This generates a clean convex approximation of your current selection.
  5. Name the object using the convention for your target engine.
  6. Check for issues: In Edit Mode, Mesh → Clean Up → Fill Holes and Merge by Distance (M key) to remove duplicate vertices.

Compound shapes in Blender

For compound collision, create multiple collision objects — one per logical piece. A shelving unit might get one box for the frame, two boxes for the shelves, and one convex hull for a curved top piece. Name them with incrementing suffixes: UCX_Shelf_01, UCX_Shelf_02, UCX_Shelf_03.

```python
# Blender Python: batch-rename selected objects with UCX prefix
import bpy

prefix = "UCX_"
base_name = "Shelf"

for i, obj in enumerate(bpy.context.selected_objects):
obj.name = f"{prefix}{base_name}_{i+1:02d}"
```

Exporting and Setting Up Collisions in Unity, UE5, and Godot 4

Exporting and Setting Up Collisions in Unity, UE5, and Godot 4 — illustrated

Unity

Unity reads UCX-prefixed meshes from FBX automatically and creates compound MeshCollider components set to Convex. To trigger this:

  1. Export from Blender as FBX with all collision objects included in the same FBX file.
  2. In Unity's import settings for the model, check Generate Colliders is OFF — Unity will find the UCX meshes automatically without this option.
  3. Verify: select the imported prefab, expand the hierarchy. Each UCX_ object should appear as a child with a MeshCollider (Convex) component.

For purely primitive colliders, skip Blender entirely and add BoxCollider, SphereCollider, or CapsuleCollider components directly in Unity.

Unreal Engine 5

UE5 supports the full UCX/UBX/USP naming convention on import. In the FBX Import Options dialog:

After import, open the Static Mesh editor. The collision is shown as orange wireframes. Verify shape count and coverage in Collision → Simple Collision.

For dynamic objects in UE5, open the Physics asset (via the Skeletal Mesh editor) and replace auto-generated capsules with box or sphere shapes on the appropriate bones.

Godot 4

Godot's GLB importer handles collision at import time. In the Import dock:

For manual control, use MeshInstance3D → Create Trimesh Static Body or Create Convex Static Body from the right-click menu inside the scene editor.

Testing and Optimizing Your Collision Budget

All three engines expose collision cost in their profilers:

Collision complexity checklist:

If physics cost remains high after optimizing collision shapes, check whether you have too many dynamic rigid bodies active simultaneously. Consider sleeping distant objects (Rigidbody.Sleep() in Unity, set_sleeping(true) in Godot) or reducing your physics tick rate from the default.

Well-built collision meshes are invisible infrastructure — nobody notices them when they work, but sloppy ones drag down framerate, cause tunneling bugs, and make physics feel wrong in ways that are hard to diagnose. Build them deliberately from the start.

Find game-ready 3D assets with clean collision mesh conventions on the BitSoul marketplace. Every model is vetted for engine compatibility, so you can drop them into your project without rebuilding physics from scratch. Browse the full library at bitsoulhosting.com/marketplace.

Tags: collision mesh blender unity unreal engine 5 godot 4 game physics 3d workflow

Skip the modelling — download it instead

A free BitSoul account gets you 2 game-ready models every month plus 25 AI Engine credits to generate one of your own, no card required. Clean topology, PBR textures, and GLB downloads that drop straight into Unreal, Unity, Godot or Blender — plus OBJ and 3D-printable STL export.

Create a free account → Browse 846 models