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.
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?
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?
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.