/Engine/Plugins/Runtime/GameplayAbilities/Source/GameplayAbilities/Public/AbilitySystemComponent.h
Gets all Activatable Gameplay Abilities that match all tags in GameplayTagContainer AND for which DoesAbilitySatisfyTagRequirements() is true. The latter requirement allows this function to find the correct ability without requiring advanced knowledge. For example, if there are two "Melee" abilities, one of which requires a weapon and one of which requires being unarmed, then those abilities can use Blocking and Required tags to determine when they can fire. Using the Satisfying Tags requirements simplifies a lot of usage cases. For example, Behavior Trees can use various decorators to test an ability fetched using this mechanism as well as the Task to execute the ability without needing to know that there even is more than one such ability.
void GetActivatableGameplayAbilitySpecsByAllMatchingTags ( const [FGameplayTagContainer](API\Runtime\GameplayTags\FGameplayTagContainer) & GameplayTagContainer, [TArray](API\Runtime\Core\Containers\TArray)< struct [FGameplayAbilitySpec](API\Plugins\GameplayAbilities\FGameplayAbilitySpec) * > & MatchingGameplayAbilities, bool bOnlyAbilitiesThatSatisfyTagRequirements ) const