AssemblyRootPart changing on the client causes ownership of assembly to conflict with server

If the client causes the AssemblyRootPart to change locally, the owner of the assembly is reset to the client which conflicts with the server.

Here’s a video that shows the behavior:

And here’s the place file used in the video:
ownership-conflict-repro.rbxl (71.4 KB)

Expected behavior

I expect the ownership of an assembly to not conflict between the client and server. I understand that ownership is reset when the AssemblyRootPart changes but the client should always reflect the server’s ownership.

5 Likes

This is expected. Intentionally causing the root part to change from the client is not supported, and will cause a desync. You’ll need to create welds etc from the server so things stay in sync.

Why is it expected that the client can change an object’s ownership? It isn’t replicated to the server but it doesn’t make sense for there to be two different owners of an assembly. I think that when the AssemblyRootPart changes on the client it should keep the previous owner of the assembly.

1 Like