Parts attached to other player's char by constraints wont update unless im near them

So i have this system where when a player presses a button a model is attached to them via a constraint (ballsocket or hinge). The script is completely client sided, no version of the model appears on the server. To do this the player script clones the model in ReplicatedStorage, unanchors every part in the model and parents attachment1 to the necessary part in the character model.

Issue

So i’m using Studio’s Test feature and when i press the button the model appears and everything. However, once the player who spawned the model moves their character, the model doesnt move at all until i get close to it. Once i get close the part teleports in the player’s direction until its a certain distance away. This will repeat until that part reaches the characters body where they should be attached.

Have you set network ownership of those BasePart instances by calling SetNetworkOwner() through them?

can that be done client side? Ideally i wouldnt want any of these instances being on the server

edit:
can i do that with models or will i have to loop through each basepart in the model

Yeah i tried it and it cant be done on client side. Even if i were to have a copy on the server and set network ownership over the server only one player would have network ownership over that part meaning every other player will still see it staying still in mid air.