After updating Unreal Engine i suddenly noticed my Blueprint Pawn was misbehaving with erratic movements and sudden fluctuations in some important variables.
After about 20 minutes of digging through my blueprint and by disconnecting parts of my blueprint, replacing dynamic values with typed in ones i managed to pinpoint the culprit that was causing all my problems.
It turned out the “Get World Delta Seconds” node was not supplying me with the actual Delta T.
As soon as this node was replaced with a standard variable of 0.011 (1/90fps the standard HTC framerate) all erratic behaviour suddenly disappeared. Most of the locomotion for my character is stabilised against Delta Seconds to make sure it runs the same when framedoubling is active. (or when a underpowered computer can maintain a consistent framerate)
This might be a SteamVR specific bug though.
Is it possible to take a good look at this node, i think it might be broken.
For the meantime, is it possible to “downgrade” my version of UE4 to 4.12.3 ??
This is the piece of logic that seems to be causing all the problems now.
In 4.12.3 everything was fine, now it’s a chaos unless i cut out the frametime compensation out.
I was/am experiencing the same issue after the update 4.12.4. I noticed that my multiplayer clients (from PIE) were not receiving a value from Get World Delta Seconds when watching the values, but the server was. I worked around this by saving the delta seconds value from the event tick as a variable, and used it where I needed it. After that, when in PIE, everything works fine and is synced in my multiplayer set up. I don’t know if that’s clean. but for now it works.
However, I’ve been having issues with my actual builds tested on LAN multiplayer since 4.12.4, with minimal changes from the state of my game from 4.12.3. This prompted me to ask myself the same question you did about downgrading to 4.12.3. But looking around the forums and Answerhub, it seems you can not (from built binaries).
I have a few questions for you that will help narrow down what issue it is that you are experiencing.
Quick questions:
Can you reproduce this issue in a clean project?
If so, could you provide a detailed list of steps to reproduce this issue on our end (this would include any bench marks that you are using to determine the issue)?
Could you provide screen shots of any blueprints that may be involved with this issue?
Set your project to clamp the fps to a stable 90fps
Make a blueprint with a value that you want to “increment” each frame to create a smooth ramp up in this value (like rotational velocity in this example)
Every frame the applied value is multiplied with a specific amount (1.001x in this project)
For the frame stabilised version i have the value both multiplied with the “intended” framerate and the actual frametime. (Get Delta Seconds) So at 90fps these two should cancel eachother out and give out the same effect as multiplying times 1. (90*0.011 = 0.99) Should the framerate vary then the imbalance between these two inputs should compensate to a constant speed(increase)
Apply the multiplication each tick and store it in a value,
Use this value to drive motion on tick (add local rotation in this case)
for the non stabilised version, disconnect both the get Delta Seconds and replace the inputs with 1’s or remove the inputs entirely
After taking a look at the project provided I was able to reproduce this issue on our end. I have written up a report (UE-32730) and I have submitted it to the developers for further consideration. I will provide updates with any pertinent information as it becomes available. Thank you for your time and information.
Today i was looking to see if “UE-32730” has been fixed in the latest version of UE4.14 however searching for this bug i cant seem to find a page indicating it’s status. Has this issue been fixed yet?