He can’t indeed. In my case you store this struct on a pickup. So designer creates an object ONE time, both for pickup and for item but to him it looks like a pickup. His inventory is a TArray<FInventoryItem> and when he picks up an item you just generate it using the data you have. In my case it’s just a Generate() method on a pickup which creates an item from itself which I then can add to player’s inventory.