Ok, maybe we missunderstood. I have a character inventory.
I have PickupItems in the world, there i can assing DataAssets, maybe a box of bullets with 20 bullets.
Now i store the data asset in the inventory. Now maybe i reload the weapon and 10 bullets left.
If I save the reference to the asset, will mean i have the initial value of 20.
So i seems i need to copy the data to save it.
It should work if i do the same class structure and save it.
i have
class LOSTSIGNAL_API UItemDataAssetBase : public UDataAsset
class LOSTSIGNAL_API UWeapon : public UItemDataAssetBase
I would make new classes
UItembase : UObject
UWeaponItem : UItembase
with the same properties like the data asset and store an array of Itembase instead of UItemDataAssetBase.