Client takes Network Ownership of NPCs after setting on server

I have a little NPC system where i set the network owner to nil on the server of every part of the NPC model. Then they run around and attack, the usual stuff.

I have some visual effects that i fire via remote event to all clients, in that client script i reference the NPC model and weld a few things to it locally. Now, as soon as those events fire, it appears that the client is taking ownership of the NPC and they teleport around. Its very frustrating I just want them to move around predictably.

Has anyone seen this issue before?

1 Like

You’re making it a new assembly by welding more stuff to it. That’s resetting the forced server ownership allowing it to be handed off to your client when your region overlaps it.

3 Likes

How can I avoid this issue? I want to weld some visual effects to the model on the client without having it steal ownership.

It seems that if i set ownership, that should be all there is to it. Puzzling

Enable the studio debug settings “are owners shown” and “are regions shown” and see what happens when the local parts are welded on. I’ve never looked into what happens when you local weld something to a server owned assembly.

You might end up having to reassign network owner to nil via remote event letting the server know the local parts were added. This is a somewhat odd situation so I’m curious how it handles it.