How to Check Multiple Gameplay Tags Efficiently?

Hi everyone,

I’m currently experimenting with Gameplay Tags in Unreal Engine and ran into a question I couldn’t solve on my own.

What I’m trying to do:
I want to check if an Actor has several specific tags (for example: Special.Hover, Special.Berserk, etc.) inside Blueprint.

What I’ve tried so far:

  • Using the Actor Has Tag node → works, but only for a single tag.

  • Storing tags in a Gameplay Tag Container → I can add multiple tags, but I’m not sure how to compare against several required tags at once.

  • I saw some examples in C++ using UGameplayTagsManager::Get().RequestGameplayTag("Special.Hover") with HasTag(), but I’d prefer to stay fully in Blueprint if possible.

My question:

  • Is there a Blueprint-friendly way to check multiple tags on an Actor?

  • If not, what’s the simplest approach in C++ that I can hook back into Blueprint?

  • Are there best practices for scaling tag checks in larger projects?

I’d really appreciate any guidance or examples. I may be missing something simple here, so any tips are welcome.

MR.Dev!

Hey @Annxuuicn how are you?

As you said, you can use a Tag Container to store all the tags an actor has. Then, you can add all the tags you want to check to a new container using the node “Add Gameplay Tag” from the tag container.

After that, you will have both containers, one with the Actor’s Tags and one with the tags you want to check.

Once you have those containers, you can use the node “Has All Tags”, which returns a boolean, to compare them.

That way, you can compare a bunch of tags with the tags an actor has assigned to it.

Hope this helps you!