Make movement increase framerate independent


i have an endless runner kind of game, based on the SideScrollerBP-Example.
The “Event-Tick” is hooked up to an “Add Movement Input”- Node and the Scale-Value is set to “1” so that the runner runs by itself.
Whenever someone presses the “RunRight”-key the speed of the runner is increased by 10.

My problem now is that the increase of the speed is framerate dependent, cause the speed is only updated every frame (by calling “Add Movement Input” every frame).
How can i now increase the speed at the exact same time independent of framerate?
I tried a Timer that calls the “Add Movement Input” every 1ms, but this seems hacky (and i’m not really sure this works correctly).

You need to multiply your speed increase by the current delta-time.

There is a reasonable description of how to do this in the answers here;

Maybe i’m understanding something wrong, but my problem isn’t the end speed, the problem is the time to reach that. I update the max speed the moment i press the RunRight key, but this updated speed is only used in the next frame (By calling “Add Movement Input” - in the Event tick). So when the game runs @ 100fps the updated speed will come to effect in max. 10ms and if the game runs @ 1fps if will come to effect in max. 1s.

this article really helped me