Thank you for your detailed reply and sorry for my late response.
I don’t like the idea of having to create a separate UObject for every single item in the game.
It sounds like a nightmare for tweaking values, e.g. if you want to balance all the shotguns in relation to each other. You would have no overview of all the values of all the shotguns in a single place.
I am using this structure for now:
A data table DT_ItemsBASE where ALL items need to be inserted; holds only variables that all items have in common
Additional data tables for each item type; right now I have these tables: DT_Firearms, DT_Ammo, DT_ConsumablesHealing
This is the table for firearms for example:
So if you want to create e.g. a new shotgun, you have to add a new row in DT_ItemsBASE and in DT_Firearms with the same row name
In addition I have a different UObject for each item type.
The UObject for firearms e.g. holds the following:
And the InstanceData struct for a firearm holds the following:



