How to create jetpack movement?

Hi, UE virgin here. Using the third-person template I have managed to add a thrust/jetpack type movement to the player by enabling a button press to trigger a Launch Character node along the Z-axis. This works fine, but I have to keep pressing the button over and over to trigger the effect and stay airborne. How do I set up a blueprint that enables my character to keep rising as long as the button is pressed down? I know I’m missing something very basic here but I’m just not sure what it is.

You could do it lots of ways. One way would be to have the impulse fired off of a Tick event and pass the execution line through a Gate (in the Enter). Then have the pressed keyboard input Open the gate, and the Released input close the gate.

You also needn’t use Tick, if you prefer to use a loop and just gate the loop using a Sequence for Open-Enter on the Gate.

I’m working on the same feature here, the problem is that “launch character” just keeps on adding velocity impulse to the actual velocity, so the character just gets quicker and quicker over time. I don’t want to use “ZOverride” while reaching a certain speed cause it would cause the character to ignore gravity. So how’d I do to add a speed limit to this “launch character” ?

To put it another way: I would like the jetpack to always have the same power, but the actual speed of the character would depend on his current velocity (if my character is falling and headed towards the ground and was to fire his jetpack, it would increase his current falling velocity even more).
Thanks a lot.

Used this but simplified it.