That’s correct it’s a custom pawn and DoMove() don’t exist in yours, seems this created some confusion.
I open a template and here how it should be overall.
Regarding @tyconner’s point about sideways air movement enabling players to gain extra distance that is true. In movement heavy games like Quake, this is actually an intentional mechanic (strafe-jumping) and requires player mastery. So whether it’s a “problem” depends on the intended movement design.
In this case, as I understand it, @Mapesy wants lateral air adjustment for ledge grabbing and fine control, but does not want sprint acceleration affecting jump distance.
By ignoring only the forward movement input while falling and allowing right/left input
- Prevent sprint from rebuilding forward speed mid-air
- Keep lateral air control for adjustments
- Preserve consistent jump distance
If lateral air movement is not desired at all, Air Control can simply be set to zero but in this case we’re selectively filtering forward input to keep the intended feel and this physics movement for sure can be done as a custom jump function on movement physics but this is a workaround simply bypasses component’s jump logic. Rather than rotating character we can clamp sideway movement speed on custom function never exceeding jump velocity simply is the right way of doing it which can be overkill for this topic atm.
