Weapon part isn't appearing at the same position across clients

I am trying to set a parts CFrame on the client and let other players see it.

When testing if the part’s CFrame appears the same on both clients, it does not. The parts orientation seems to work fine, it is just the position that is all wrong, it’s appearing about 100 studs below the player.

I’ve already thought about using RemoteEvents but figured out it would be too expensive, buggy, and laggy.
I came to using Part:SetNetworkOwner(Player), but this is the result I get.



Server

local g = workspace.Gun
g:SetNetworkOwner(plr)

Client

Gun.CFrame = CFrame.new(altp.X,altp.Y,altp.Z,unpack({select(4,o:components())}))*CFrame.Angles(0,math.rad(-90),0)*CFrame.Angles(0,0,math.rad(RotationIns.Value))

Have you tried setting network ownership to the server itself not the player?

1 Like

Setting a part’s CFrame on the client will always display it for that client no matter whay

1 Like