【Unreal Engine】Simple Collision vs Complex Collision: Differences and Performance Optimization

Created: 2025-12-12

Differences between Simple Collision and Complex Collision for collision detection. Covers characteristics of each, Collision Complexity settings, and selection criteria considering performance.

Importance of Collision Settings

When progressing with game development in Unreal Engine (UE), you may face these problems:

  1. "Characters get stuck in complex-shaped objects"
  2. "Game performance suddenly degrades when object count increases"

Many of these problems are caused by object collision (hit detection) settings. Particularly, not understanding the distinction between "Simple Collision" and "Complex Collision" in UE leads to unintended behavior and serious performance degradation.

This article thoroughly explains the differences between these two collision types, setup methods, and best practices for smooth game operation, with concrete examples for UE beginners to intermediate developers.


Simple Collision

As the name suggests, Simple Collision consists of simple shapes.

Characteristics

  • Shape: Represented by combinations of mathematically easy-to-process primitive shapes like boxes, spheres, capsules, or multiple convex hulls.
  • Performance: Very low calculation cost and fast.
  • Use Case: Primarily used for scenarios with frequent collision detection like character movement and physics simulation.

Simple Collision doesn't completely recreate the actual mesh shape, but its simplicity minimizes CPU load even with large numbers of objects. For example, even a complex rock mesh is represented by several boxes or convex hulls surrounding it in Simple Collision.

Checking Simple Collision

Open the Static Mesh Editor and enable "Simple Collision" from "Show" in the menu bar to display it as green wireframe.


Complex Collision

Complex Collision uses the object's actual triangle mesh as collision data.

Characteristics

  • Shape: Exactly matches the polygon (triangle) shapes used for rendering the object.
  • Performance: Very high calculation cost and slow.
  • Use Case: Used for scenarios requiring very accurate hit detection, or traces (line-of-sight detection and raycasts) not used for character movement.

Complex Collision provides accurate collision detection even for complex sculptures or intricate shapes, but the increased computation directly impacts frame rate, especially when used on numerous objects or moving objects.

Checking Complex Collision

Enable "Complex Collision" in the Static Mesh Editor to display it as blue wireframe. Normally, this matches the mesh's rendering shape.


Collision Complexity Settings

Static Mesh assets have an important setting called "Collision Complexity" that determines which collision type to use for what purpose.

Setting ValueHit DetectionTraceCharacteristics and Recommended Use
Project DefaultFollows project settingsFollows project settingsIn most cases, same as default behavior.
DefaultSimpleComplexDefault setting. Uses fast Simple for movement/physics, accurate Complex for line-of-sight. Most recommended setting.
Use Simple Collision As ComplexSimpleSimpleUses Simple Collision for traces too in addition to hit detection. Lightweight without Complex Collision, but trace accuracy decreases.
Use Complex Collision As SimpleComplexComplexUses actual mesh for hit detection. Very heavy, so use only limitedly for complex terrain or when accurate detection is essential.

💡 Complex Collision Limitation

When selecting Use Complex Collision As Simple, only LOD 0 mesh is used as Complex Collision. LOD 1 and beyond are not used for Complex Collision. Using this setting on meshes with high-polygon LOD 0 significantly impacts performance.

Best Practice: Prioritize Simple Collision

Unreal Engine's design philosophy strongly recommends using Simple Collision for character movement and physics simulation.

  • Moving Objects (characters, vehicles, moving props): Always use Simple Collision. Using Complex Collision on moving objects causes catastrophic performance degradation.
  • Static Background Objects (walls, floors, simple rocks): Simple Collision is sufficient. Auto-generated Simple Collision (convex hull) in Static Mesh Editor handles most cases.

Common Mistake: Overusing "Use Complex Collision As Simple"

Casually setting Use Complex Collision As Simple to solve "characters getting stuck because Simple Collision doesn't match the shape" is dangerous.

This setting means using millions of polygons of the entire mesh for collision detection, potentially freezing the game especially with many objects or many characters moving on them.

[Alternative] If Simple Collision accuracy is insufficient, manually adjust Simple Collision with these steps:

  1. In Static Mesh Editor, add primitives (Box, Sphere, Capsule) and arrange to match mesh shape.
  2. Use "Auto Convex Collision" feature to regenerate Simple Collision with acceptable accuracy and polygon count.

Practical Usage Examples

ScenarioRecommended Collision SettingReason
Player CharacterCapsule Component (Simple)Fastest and suitable for step climbing.
Walls and FloorsSimple Collision (Box/Convex Hull)Static, fast detection is sufficient.
Complex Rock or Statue ShapesSimple Collision (adjusted convex hulls)Somewhat recreates shape while maintaining performance.
Sniper Line-of-Sight DetectionComplex Collision (default setting)Not used for player movement, requires accurate raycast.
Complex Terrain MeshUse Complex Collision As SimpleWhen precision is essential where players walk. However, strictly configure LOD and Culling to minimize load.

Key Points for Collision Settings

Unreal Engine collision has two aspects: "Performance with Simple" and "Accuracy with Complex."

  • Simple Collision: Use for frequent collisions like movement and physics to ensure performance.
  • Complex Collision: Use only for accuracy-required scenarios like traces (line-of-sight detection).

In most cases, leaving Static Mesh's Collision Complexity at Use Simple Collision As Complex default and devising Simple Collision shape for accuracy is the best balance in UE development. Optimize collision settings to achieve comfortable gaming experiences.