Pawn Collision hits instead of overlaps

Really obvious seeming bug with the pawn collision channel.

The pawn is simply colliding with and causing physics on objects it shouldn’t be. To replicate:

Set up a new actor with any primitive collision (sphere, box, capsule), and give it the above collision settings and turn on ‘Simulate physics’. You’ll also probably want to turn off ‘hidden in game’ and gravity so you can test it easily.

To my mind the pawn should be overlapped by that object, but not collide with it. But if you drop one in the level, and run into it, you will ‘push’ it, and it’ll go flying across the screen.

This is just a basic test case but causes some significant issues.

Hi Hennez,

I attempted to reproduce what you described but the overlap works properly for me. Could you post a small test project with the issue that we can investigate?

Hi TJ,

I’ve bundled up a small project here to show it: Dropbox - File Deleted

Investigating a little further I believe it’s an aspect of the CharacterMovement component, rather than the pawn collision channel. It stops doing it if you set bEnablePhysicsInteraction=false on the player, though that’s not ideal as it affects other functionality I do want.

Hi Hennez,

Thank you for the project. I’ve created JIRA UE-20330 for this issue and our developers will be investigating the issue further. We will post back here with updates as we have them.

Cheers,

TJ

This is expected behavior with bEnablePhysicsInteraction=true on the character movement for objects that simulate physics and have an overlap response.

You can selectively ignore objects from receiving this behavior in code by overriding UCharacterMovementComponent::CapsuleTouched(). It’s pretty easy in code, but probably not in BP. I’ll consider adding a hook for blueprints to be able to override this.