While working on The Bug Squad I run into a situation where I needed to apply damage to world actors — in my case explosive barrels — using the Gameplay Ability System.
The standard way to do this in UE is to set
bCanBeDamaged to true on the actor and override the
TakeDamage function and/or related events. This, however, doesn’t work with GAS where damage is applied via gameplay effects.
A quick search in the Unreal Slackers Discord showed the common practice is to give an
AbilitySystemComponent to these actors. Apparently, this is also the approach Epic uses in Fortnite for world objects that can be destroyed such as rocks, trees, walls, etc.