[Bug] Sphere Collision Causes Undesired Collision Response

Adding a Sphere Collision to an Actor Blueprint causes an undesired collision response instead of just overlapping.

I have reproduced the problem using the 3rd person template. It is 20MB so I have had to use a 3rd party file hosting service. Just follow the link and click on the Download button.

http://www.filedropper.com/collisiontest

Open this project in UE 4.9 and hit play, then run the character through the red and green boxes. Notice the green box doesn’t move, however the red box starts to slowly roll due to some sort of undesired collision response.

You can find the blueprints for both of these boxes in the ThirdPersonBP/Blueprints folder. They are both set up identically; to ignore collisions with both the player and the camera. However, the red box blueprint has a Sphere Collision component added to it, which is set to OverlapAllDynamic. So there should be no collision response caused by it, but for some reason there is. This is the problem, which I’m assuming is a bug.

There seems to be some sort of inconsistency between collision responses.

The documentation clearly states that the engine will use the lowest collision response interaction between two actors. However this doesn’t seem to be the case.

In my example project above, the character (and its collision capsule) is a Pawn that is set to Block WorldDynamic objects. The red box actor consists of a static mesh with a sphere collision volume. Both are WorldDynamic objects, however the static mesh has been set to Ignore Pawn and the sphere collision volume has been set to Overlap Pawn.

Therefore, based on the documentation, the pawn should ignore the static mesh component (which it does) and overlap the sphere collision volume (which it does not). This is the problem. The pawn is actually colliding with the sphere collision volume in a very strange way rather than just overlapping it. When I say “strange way” I mean that the pawn passes through it, but also collides with it (pushes it) at the same time. Very wrong!

This is driving me crazy and I have wasted too much time now trying to work out why it is broken.

After some further research, it appears as though the problem only occurs when the collision sphere component is attached to (is a child of) the static mesh component. If you make them siblings instead (i.e. they have a scene component parent for example) then the problem goes away, however then the collision sphere component no longer follows the static mesh (if it is simulating physics for example).

Hi wilberolive,

Thank you for the report. I believe you are experiencing a known issue that was recently fixed internally. If you are using the source build of the engine you can integrate the GitHub commit here.

If you are using Binary branch, the fixed will be included in a future update.

Cheers,

TJ

Thank you! I will just wait for the next binary update.