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.
Agent is a huge meme for my friend group for pretty much the exact same reasons Lol.