I don’t know the “right” answer, but I set it so if you hit something, it plays out some checks similar to as you described:
-
If we collide with something but its only waist high, then we will have the player stop the grapple and attempt to vault over whatever it is.
-
If we collide with something and its more than waist high, then we wait for a very small delay and see if we made any progress towards our destination. If not, end the grapple because something is in the way.
-
Ignore all collision damage otherwise when grappling. Either we get stopped on the way and give up, or make it and then end the grapple.
… And last but most horrible of all:
- Do a completely different set of checks if the player is underwater when the collision happens.
All my games are janky though so I don’t think this is some ideal setup.
Edit: Cleaned up the collision damage part as I thought I handled it differently.
I have not seen the mention of base unreal engine outside of Twitter, but the change for UEFN has been noted elsewhere:
https://forums.unrealengine.com/t/we-re-moving-to-the-left-up-forward-luf-coordinate-system/2540901