Hello UE4 community,
I have a Blueprint that uses a looping timer to apply force to an object every 0.01 seconds. If I tick the “Fixed Frame Rate” option in Project Settings, the object will move faster at lower frame rates than at higher ones despite my physics running independently of “Tick”. Setting a fixed frame rate by setting all the smooth frame rate variables to the same value does not cause the same issue. I would expect slower speeds at lower frame rates if rendering and physics are linked, unless I’m just misunderstanding something. Perhaps this is a bug?
I think if Sub-Stepping is On , AddForce(with tick event) will work independently of the frame rate
here is a test i made(forces are applied inside tick with sub-stepping)
Thanks for the response. I just tried your suggestion, but sub-stepping seems to have no effect in this situation, unfortunately. I think I may have found the culprit, though. I set the “Fixed Frame Rate” parameter in the Project Settings to 30, then I monitored the frame rate in-game with the relevant console command. The frame rate was still running at around 60. Interesting.
Okay, I think I have answered my own question. As Mhousse stated, sub-stepping can be used to divide out physics applications so that nothing is accelerated when Tick’s DeltaSeconds increases as FPS drops. This only works, though, if physics calls are attached to the Tick function. When I was calling AddForce every 0.01 seconds, rather than per frame, I was getting physics calls that were stacking up on top of one another and adding their forces together since I was getting multiple calls per frame. I do not, however, quite understand why the ‘Fixed Frame Rate’ option in Project Settings has no effect on the gameplay frame rate.