I’ve recently been having trouble with my rope constraint not working as intended only on the clients side. The server side works perfectly fine. (its the same for springconstraints)
There is always lag between the Server and the Client.
What would happen if you did everything on the Client first, then let the Server play catch up by updating the position after the Client has already moved it?
or just update an attribute and watch the changedsignal on the client and tween off that then there is no need for remotes can set this up in a script for client effects to handle different ones could even use CollectionService and tag the item which then will setup the changedsignal connection