Ideas on how to Implement a glide movement mode

So I’m wanting to implement a gliding movement mode to my first/third person character. I’m aiming for something simple, like a slowing of the fall speed and some added impulse along the current forward vector.

But I’m wondering if that kind of functionality is already possible within the current character movement component, or whether I should implement a custom movement mode and do the movement in my own blueprint code or not.

Essentially what I’m thinking is that the mode would:

reduce the gravity for the character while in that mode
apply a constant forward impulse
allow steering such that you can change the heading while gliding

Obviously you could keep the gravity the same and simply apply an upwards force, which might make more sense.

I’m just not convinced this is impossible with the current character controller by using the existing methods rather than using a custom mode. So anyone tried doing this kind of thing got any pointers?

I am not at a computer that I can test this on, but here are the problems/tasks:

Set the mode (ie Glide) with a bool. Check for the bool and for the velocity. In this case you are checking for the velocity of Z to be greater that 0 AND Glide == True.

Then clamp the XYZ velocity (Set it) to the value you want for your simulation. That should work in the simplest possibly way.