Your solution isn’t capping frequencies because that’s not something you can control. Every RunService event returns a delta time which is the amount of milliseconds that have elapsed between the current and previous calling of that step in a frame. You should be using that number to scale the speed of your moving objects. Plus… how are clients able to control the speed of a moving object with an FPS unlocker unless your object’s movement is client authoritative…? Not good!