Movement on Displays Above 60Hz on StepFrequency.60Hz

Hello, I’m working on a soccer game using the server authority model. I wanted to implement a more deterministic physics based movement system to my game to have more granular control over the player’s movements.

(I know that this is usually a bad idea, but in my game there won’t be any slopes or ramps, the arena is a rectangle meaning I can just set hard limits as barriers, and player’s won’t be able to collide with each other)

The system I’ve implemented currently works perfectly fine with one flaw, Since BindToSimulation can only call a function 60 times a second, regardless of if it’s the client or the server. It means that for people playing above 60 FPS, the movement and the rotation of their characters will still render at 60FPS causing a choppy ugly look.

I’ve came up with several solutions all with their own flaws. First was to take the client sided movement out of the simulation and just have the simulation correct the client’s location. However this led to constant mispredictions that snap the player’s position constantly.

I then thought of moving an invisible non-collidable part around the map and perpetually tweening the player’s position to it. This ‘works’ but in order to make it look good there has to be a significant distance between the part and the player’s model to not look snappy

I also tried ControllerManager’s, but again, constant mispredictions.

Is there a solution to this or do I just have to wait until they add a way to seperate client tick rate from the server

I have done some resarch I would recommend just waiting until Roblox adds a way to separate client tick rate from the server.