The problem with that is that since the gun part is a replicated actor, spawning it on the server spawns automatically a copy on the client, so you’ll end up with 2 copies on the client instead of 1. Which reminds me, the root of your problem might be that you’re not spawning the parts on the server at the beginning of the game in the first place. Please check the code that spawns the parts, in the original asset it only spawns them on the server (on the clients they get spawned automatically by the engine as a consequence).
When we send the part via the ServerEnterAddPart to the server, we aren’t actually passing the part, we’re passing just a ref so the server grabs the correct part in it’s own inventory.
Just checking, have you tested the packaged game in multiplayer? Have you installed it in 2 different machines and did you connect the client to the server (does your project have server connection code)?
Regarding gameplay differences, packaged game and launch are not supposed to have gameplay differences, they don’t interfere with your gameplay code…