Mystery solved!
TLDR in case someone ever has the same issue:
- You can keep xy override set to true
- Either put “Braking Deceleration Falling” of the character movement component to 0 until landing or find a way to account for it.
- Don’t forget to pass the gravity scale of the character to the suggest function.
Long story short, it was the “Braking Deceleration Falling” setting in the character movement component that was killing the lateral velocity.
I tested setting it to 0 in my own project before posting this issue but it didn’t work for some reason.
I tried again in the third-person project I created and it solved the issue. My guess here is the suggest velocity function does not take into account the braking deceleration. This is not an issue on short distances but is one on longer ones.
The reason it kinda worked through the input is I was using the default IA_Jump which had a trigger on both pressed and released.