I believe this has a lot to do with frame timing:
- when during the frame does the overlap occur
- when does the floating pawn movement component update occur
UE obfuscates it and the BPs do not make it any easier.
The overlap triggers before the movement update is processed, the update then overrides the velocity change request; whereas (X) input processing is added after the movement comp has done its job giving it no chance to mess things up. (and Tick Groups
seem to play no role here). Someone corrects me if I’m wrong!
One way to easily solve this: