Actors that replicate must be spawned by the server.
Example flow for pick up items.
Pickup item not owned in the game world is a simplistic variant of the picked up item. Lets say a gun. The item pre-pick up is generally an actor with a static mesh and identifier data. Like what the item is.
When the client interacts to pick up it simply does a local animation and RPC’s the server to interact. When the server interacts it gets the identifier and spawns the “working” version of the item. It sets the owner and attaches that item to the character. If any other character states needs to be updated it does so. It then destroys the simple pickup item.
The only RPC from the server in this instance, potentially, would be a multicast that is executed by simulated proxies (copy of your character on all other human clients) to play a pick up montage.
The newly spawned working gun is set to replicate. Each client will now get an update that spawns and attaches the gun to the specific proxy.