Hello! I made a door that uses client tweening to open and has a doorknob animation which is controlled using a HingeConstraint on the Servo mode. For some reason, whenever someone opens a door, anyone that isn’t the person who opened it will see the doorknob floating for a second before the door settles.
This is likely due to the doorknob following the door on the server rather than the client, but then why does it work for the person who opened the door? There’s nothing referencing that in the client tween as it fires for every client.
Video:
Any help is appreciated, and if you need more information, please let me know and I’ll get back to you asap.
Well if I do that, the doorknob wont be able to jiggle. What I could try doing [and probably will] is im gonna just animate the doorknob using CFrame instead. It’s more work but I don’t want this problem to exist before I release the game.
Oops. Also made a mistake. The door gets unanchored [aside from the hinge] whenever it gets put into the game world. It gets welded to the hinge and thats how it rotates. The thing is this still wouldn’t explain why it works find for the client that opened the door but doesnt for any other client.
Only thing I can think of is maybe theres some discrepency as to how the server makes / breaks assemblies when you start tweening. I have a similar issue with my vehicles where the hinges for steering dont update consistently once you leave the vehicle and the server takes ownership of it back.
After doing some more research, it probably has something to do with the network ownership. According to the documentation, the owner of an unanchored part is set to the client closest to it, thus explaining why it works fine on the client opening the door.
I’ve fixed it. Now the entire door moves using a hinge constraint alongside the doorknob and it fixed the problem. There’s no further issues with it either so that’s great