DataEntity : ScriptableObjectand that means you can just define variables that are direct references to it just like you would create a prefab and put it in a field. The
[AssetDropdown(typeof(T))]allows you to find those assets anywhere in your project with a simple searchable dropdown box.
ScriptableObject, you can run functions in it, take advantage of inheritance, abstraction, store more references within it, and reference it directly in the editor! Your data just went Super Saiyan.
[AssetDropdown(typeof(T))]attribute on variables in your systems. When you pick that item, it just stores the reference in that variable. It's simple and it's basically free on the CPU at runtime. You don't need to go look for the file, drag anything into the field, remember or lock in any string names, write down id's... None of that noise is required.
[AssetDropdown(typeof(T))]attribute in any case you need to find something in the database.
ScriptableObjecttypes and use all of the fancy features that it provides.