Differences in Data Assets, Data Tables and Structures (Overall Hierarchies in systems)

Data Assets, Tables simply put are organized data containers. I treat them like a database.

Items are assigned an ID that’s used to lookup the data. For example I use GamePlay Tags to define what a “thing” is. My interaction system gets the ID and reads it to determine the Type of item, what data table to use and the specific item to look up.

WorldItem.Ammo.762 Tells my interaction system the Actor is a “Loot Item”. That’s it Ammo and the the caliber is 7.62

For specific information (UI icon, mesh, specs etc) I’d use data table DT_Ammo grabbing row name 762.

The Gameplay Tag can be predefined in a dedicated actor class, or runtime assigned on spawn of a dynamic actor.

You can then use Begin Play on the actor to pull the data needed… Build Config.


For UI data you can either store it in the actor class, or look it up as needed. For pick up items I lean toward doing ID look ups on interaction vs packing thousands of actors with “I might need” data. The data is only relevant if you interact, otherwise its memory bloat.