# Don't do this: private void Update() { RandomSpeed(); } The *only* thing you should do during `Update()` regarding speeds is to check to see *if the value of `randomSpeed` has changed,* and if so, generate new values (assuming that you want the boolean to change at runtime). You do not, and should not, generate new speed values every frame.