I don’t think this is a problem with my code as I believe this is actually a bug. I also haven’t been able to find a workaround for this yet.
In the video below, I connected a rope from the hammer to a part above and you can see that it works perfectly fine on Player1’s screen, but on Player2’s screen the hammer is just frozen in mid-air.
Thank you for providing a reproduction file. Looks like the core issue is creating the RopeConstraint only on the client. In this particular situation, everything seems to work fine if you create the RopeConstraint on the server and then assign network ownership of the parts to the player. This order of events ensures that the server and client have the same knowledge of the mechanism and replication is able to work as expected.
Let me know if this will work for your application. Thanks.
Hello, I wanted to let you know that moving the RopeConstraint to the server now actually replicates between both sides as expected. Thanks!
I think one of the reasons why I created it on the client in the first place (I coded this a long time ago) was probably because of server to client latency, but it doesn’t seem to be that bad after trying it with RemoteEvents.