Before anything else: Character controllers, not rigidbodies. I’ve been testing out the time it takes to reach a certain distance while my friction function is enabled at different framerates, and I have come up with some interesting results. My friction function is quite straight forwards: Multiply the player’s velocity by a value each physics update. Since it runs in fixedUpdate, this means it should be framerate independent, right? It’s only multiplying the velocity by a fixed amount a fixed number of times each frame- but the issue is, that my character controller does not seem to be moving independent of framerate- it simply isn’t the case with my testing.

_

Unfortunately, I am not exactly sure WHY that is the case, because by all means, I should be getting a consistent standard deviation between framerates with this function. So, my ultimate question is: How do you appropriately create framerate-independent friction for a character controller? I am not looking to debug my own code, I just need to know if what I am doing lines up with what I SHOULD be doing. Should I be using a different mathematical approximation, or different method such as making use of Mathf.pow()?

While it’s true *FixedUpdate* runs a constant amount of times each second, the calculations performed in it still take time, so it’s not frame rate independent. **To make it frame rate independent you have to multiply the operation in it, in this case, multiplication, by Time.fixedDeltaTime.**