Why isn't BindToRenderStep() replicating changes from server to client?

I’m trying to convert functions that I bound to RunService.Stepped to RunService:BindToRenderStep() so I have more control over the order of my functions.

However, for some reason, changes done in BindToRenderStep() aren’t replicated from the server to clients as seen in this video:

The module script and the server script that uses it are in ServerScriptService. Here is the relevant code in the module script:

The server script that uses the module is purely data manipulation, and doesn’t interact with the workspace or any other instance hierarchy except through this module script.

“As it is linked to the client’s rendering process, BindToRenderStep can only be called on the client.”

1 Like

Aw, that’s a shame, I was really hoping I could use the priority and labeling system it had.

You could use something like remote events (I would not recommend)
or
game:GetService(“RunService”).Heartbeat:Connect(function()

end)

I was using .Stepped before trying out BindToRenderStep(), as I need these updates before the physics sim, since they’re supposed to update positions and body forces. I think I might try to make this module script into my own kind of simulation step, where I call everything I need in the order I want, given that I can’t use BindToRenderStep() anymore.

I have another idea, I don’t know if its what your looking for but its worth a shot
You could fire a event from the server to the client saying “Hey lets move this here”
or some sort of ping pong system