I have a bunch of different data assets of buffs and debuffs. I have buffs and debuffs for health and damage but in my explanation I will talk about health, but damage works the same way. I first have a parent data asset for health buffs and debuffs, then split them into health buff assets and health debuff assets. My idea with this is that I could create an array in my game master that holds all my buffs and debuffs and when it comes to spawning them I can choose if I am spawning in buffs or debuffs then randomize which buff I choose.
I decided to go about this by looping through the data asset parent (that comes from base unreal) seeing if it is health parent or damage parent, then see if they are health data asset or damage data asset, then place the different buffs and debuffs into arrays.
Hierarchy of assets: Primary Data Asset->HealthBuffsDebuffs/DamageBuffsDebuffs->(Respective)Buffs/(Respective)Debuffs->(The Red Data Assets, not the blue blueprint ones)
Somethings I want to point out, yes there probably was a better way to plan for this ahead of time, yes I can just manually create the individual arrays (this limits scaling but I already have small scaling issues). But there might be a time in the future where I do need to split a parent array into its respective child arrays and I want to know if it is possible to do so. The biggest hurdle is “Primary Data object reference is not compatible with (Enter child object reference here)”. I know it will be the proper reference; I just want to know if there is a way to tell blueprint I know that.