How do you replicate a uobject?

To replicate UObject, instance must have owner (AActor), who can replicate this.

AActor must have next functions (You can use AGameState for storing items)

virtual bool ReplicateSubobjects(class UActorChannel *Channel, class FOutBunch *Bunch, FReplicationFlags *RepFlags) override;
virtual void GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const override;

And your object must implement next methods:

virtual void GetLifetimeReplicatedProps(TArray< FLifetimeProperty > & OutLifetimeProps) const override;
virtual bool IsSupportedForNetworking() const override { return true; }
virtual bool ReplicateSubobjects(class UActorChannel *Channel, class FOutBunch *Bunch, FReplicationFlags *RepFlags) override;
2 Likes