Consider a static mesh set to use complex-as-simple collision, and a convex collision component, starting to overlap each other.

When only the Collision Component moves, its collision with the static mesh is correctly detected, and events BeginOverlap()/EndOverlap() fire as expected.

When only the mesh moves, no collision is detected and no events fire, which is expected according to the documentation for complex-as-simple collision, which reads "Create only complex shapes (per poly). Use complex shapes for all scene queries and collision tests. Can be used in simulation for static shapes only (i.e can be collided against but not moved through forces or velocity.)".

The issue happens when both components move. In this situation, the movement of the Collision Component detects the overlap and triggers OnBeginComponentOverlap(). Then, the movement of the static mesh fails to detect the overlap (it detects zero overlaps), and triggers OnEndComponentOverlap(). This happens repeatedly on every tick while they are moving.

Although the engine does not support detecting collisions when a "complex-as-simple" mesh moves, it should be possible for a game to track overlaps with it by relying on the movement of other components that use simple collision alone, preferably even while the "complex-as-simple" mesh is also moving around. One possibility would be to simply not update overlaps when moving something with complex-as-simple collision (it doesn't know how to calculate its collisions so it just does not interfere with the calculations from other components that do).

Steps to Reproduce

Expected behavior: A single BeginOverlap()/EndOverlap() event is fired when the components start/stop overlapping each other
Observed behavior: BeginOverlap()/EndOverlap() events fire continuously on every tick as long as the components are overlapping

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-218887 in the post.

Login to Vote

ComponentUE - Simulation - Physics - Solver
Affects Versions5.4
CreatedJun 26, 2024
UpdatedJun 27, 2024
View Jira Issue