How do I make my timers framerate independent?

So I’ve been dealing with a ton of inconsistencies between my debug and my packaged builds. And I am assuming this is because my code is framerate dependent, and packaged builds have a higher framerate, ergo:

The problem is I’m not finding any good examples online on how to fix these. I see folks say to multiply the speed floats by deltaspeed, but they only use math equations and as a Grade A Doofus I really need to see what the blueprints look like here.

Current Setup for my slide-over/vault logic:

This is the logic that actually moves the player during this loop.

I’m assuming if I can fix this, the solution can be ported over to my other timers too (I have a lot of them).

Any assistance with this would be greatly appreciated!

Timers/Delays are not millisecond accurate. They do checks each “tick” to evaluate if the given time has elapsed.

Tick 1 deduct deltaseconds. Is remainder < = 0
Tick 2 deduct deltaseconds. Is remainder < = 0
etc

The higher the FPS the more accurate they get.

So if I’m trying to get the behavior to be more consistent, what should I do? Is there an alternative way to loop things without using a timer or delays?

What Netmode are you running?
Turn on debug corrections. Net.ShowCorrections

You should step away from timers and use the tick function instead.
Running timers every 0.01 second is almost equivalent to the tick.

Now, to have things consistent, this is where you need to use DeltaTime.

Its common practice to take delta time into account when computing velocity / location data inside the movement code.

For instance velocity v = delta_x / delta_time

It’s pretty crucial that you understand this principle, otherwise your logic will be very different based on the power of the machine running your game..

I am not sure how. I enter “Net.ShowCorrections”into the CMD and nothing seems to happen? I can't find the relevant documentation on this command either. Could you clarify?

Aw man, I was told to have less things on event tick.

As for using DeltaTime, could you provide me a blueprint example of how it’d be used?

That’s a very common misconception.
Tick is not bad, its the workload that matters.

For instance the entire Movement Logic of your Character actually runs even multiple times per tick.
Something as crucial as movement should and is allowed to take up resources!

To give you an example I would need to know a bit more about your BP, what is your “Slide Over Curve” supposed to be?
Also why do you directly modify the location of the actor instead of writing to the velocity of it?

However, technically speaking, after you calculated your delta movement vector, you should multiply that result by delta time.
Just note that you will find yourself moving at very slow speeds suddenly as the delta time mostly is a very small value.

My bad it’s p.NetShowCorrections