Help with Tomb Raider jump mechanic

My pleasure, great if it works. Ofcourse you can do it, If you just search in CharacterMovementComponent words like air, speed, velocity, you will see many things that you can play around at your disposal exposed by Epic.

For your question you can just clamp velocity. Since we kinda know what you want and what is going on with your movements and inputs atm what I would like to mention couple of things especially on design aspects.

  • Falling doesn’t necessary means that player is jumping, generally jumping is a request from player and jump sometimes can be started or not. Basically any movement on tick and its nature depends on it. So falling can occur in many situations it can effect your gameplay. In your addon or in your default pawn class there should be some events that you can use. I recommend searching them.
  • Understand how ledge grabbing works on your addon, try change your logic according to that in movement or your grabbing logic. This small input dependency was just a guessing from my side and it worked by luck.
  • This things generally prototype and you can do many things with already existing functions however granular tweaks and really robust movement will require C++ and medium to advanced level however if you are interested I was watching some videos recently just to keep my brain muscles working. Basically its physics kinematic custom movements so in future if you want a custom jump that is robust that is the way to go.

Below is somewhat another proper approach to just clamp velocity on jump so its bypassed. Carried a bool over jump and landed, there is also bWantsToJump somewhere. This also should work the same as you wish, since we clamped velocity XY it should give you air control but not a bigger jump. That should also solve jump distance problem coming from input interference. As a side note I was checking good old tomb raiders on net and seems they also use custom defined arcs and curves, which is something cannot be done by bp


So if above is true which I remember absolutely nothing about which is nice thing and requires branching player’s jump request with possible different jumps functions.

Happy developing.