Begin/End overlap going weird again

Hello there.

I’ve seen that there was couple issues with Begin/End overlap in here, but none of them looked like the one I’m having unfortunately. :confused:

I’m attaching sample project. It’s just TPP BP template with some modifications. What has changed there is level and I also added one bp to reproduce an issue from different project I’m working on. The bp that I added is quite simple, it’s just empty actor with BoxCollision component inside. As for the logic, here it is:

Now, let’s move to testing it.

First pic, shows the setup that doesn’t cause any weird issues whatsover. When you run along green arrows custom bp does exactly what it’s supposed to do: it prints (once) ‘Begin overlap’ on screen and displays Impact Point when character enters BoxCollision and it also prints (once) ‘End overlap’ when character leaves the BoxCollision. Nothing suprising, nothing weird.


Second scenario is where it starts being weird. Again, when you run along green arrow, everything works fine. But when you run along arrow, Begin/End overlap events are fired multiple times.


Third case is even weirder. For some reason when I run next the wall Begin/End overlap events are fired even more often. Basically you just have to run forward in the direction shown by these arrows.

73870-gif.gif


Anyone knows how can I fix these issues? I’d want to make it, that custom bp would fire OnComponentBeginOverlap event only once when character enters the BoxCollision component and fire (again, only once) OnComponentEndOverlap when character leaves the BoxCollision. I’d also want it to work even if I’d be walking the way it’s shown on gif.

Full project can be found here: [dropbox download][5]

Thanks in advance.

Hello ,

Thank you for the very detailed report and the project link. I see the same behavior you’re seeing. I’ve placed a bug in for the issue under the number UE-25227. Unfortunately, other than setting the stairs’ collision to be to that of a ramp, and not walking against the wall, I can’t think of any workarounds at the moment. I’ll be sure to let you know when any updates have been made.

Have a nice day!

Well we sweep the capsule up, forward, and down to get over the stairs, and accumulate overlaps during that time. Then we trigger the overlaps at the end, so what you are seeing is expected, though perhaps not ideal. Ramp movement doesn’t use StepUp(), but does if you run in to a wall during it, since it may need to move over an obstacle along the way there as well.

The tricky thing is knowing whether we would want these overlaps or not, because they may be legitimate from forward motion, or might want to be ignored because of the big up-down sweeps. It would probably be possible to filter out those movements above the capsule if they were above the final step location and not active at the start of the step-up but it could get tricky.