I m wondering why having lower FPS gives less force and makes movement slower and what is solution to this problem. There is my visual script, im using on keyboard input. plz help :=)
Multiply the Force
vector by Time.deltaTime
value. If I recall correctly there was a vector x float multiplication node. That should solve your issue.
Your code must depend on user frame rate to play for each user the same way. You can achieve this by multiplying Time.deltaTime.
Time.deltaTime
can vary depending on FPS - this is the difference in seconds between frames.
Never used Visual Programming, but it’s not clear where the Movement block is located.
Input Monitoring and Physics changes must be in Update()
and FixedUpdate()
appropriately. You mixed them up, this can cause issues at some point.
You can separate the mentioned logic between these functions using with boolean variables.
At the same time, if you want to rely on the difference between frames in Physics operating for some reason, you can use Unity - Scripting API: Time.fixedDeltaTime
This can be difficult to understand, but learn it thoroughly to avoid issues in the future.
Use this tutorial to learn: Update and FixedUpdate - Unity Learn