Storing persistent data

I get that, But how would you go from an actor, to a data orientated object that sits in an inventory, which can then be “dropped” into the world again, and retain information about itself like durability.

I can put something like durability on the base item easily enough that i can just transfer structs between the world actor and the inventory object.

But it falls apart when you need to track say, ammo on a weapon, quality on a piece of armor. But the armor doesn’t need to track ammo, and the gun doesn’t need to track quality. Then scale that up between different item sub types, like consumables, resources, quest items ect. There’s going to be a lot of variables that all items would use, but there’s definitely going to be edge cases where a variable needs to be tracked for one item type only.