Return array to Blueprint


I’m trying to return an array from a c++ function to blueprint from an existing function in the Gameplay Ability System:

TArray<FGameplayAbilitySpec*> AbilitiesToActivate;
GetActivatableGameplayAbilitySpecsByAllMatchingTags(GameplayTagContainer, AbilitiesToActivate);

But I don’t see a way to return to blueprint an array with the * inside the type and don’t know how to change it to a reference…

Also tried to make a similar function but always get an error of type or related to * and &:

TArray<FGameplayAbilitySpec&> ANW_ModularCharacter::GetActivatableGameplayAbilitiesByAllMatchingTags(const FGameplayTagContainer& GameplayTagContainer)
    UE_LOG(LogTemp, Warning, TEXT("GetActivatableGameplayAbilitiesByAllMatchingTags"));

    TArray<FGameplayAbilitySpec&> MatchingGameplayAbilities;

    for (const FGameplayAbilitySpec& Spec : AbilitySystemComponent->GetActivatableAbilities())
        if (Spec.Ability && Spec.Ability->AbilityTags.HasAll(GameplayTagContainer))
return MatchingGameplayAbilities;

Any help would be appreciated!

Blueprint does not support pointers to structs. You must return the array of structs by value, copying each ability spec.