Navigation
Unreal Engine C++ API Reference > Runtime > GameplayTags
References
Module | GameplayTags |
Header | /Engine/Source/Runtime/GameplayTags/Classes/GameplayTagContainer.h |
Include | #include "GameplayTagContainer.h" |
Syntax
USTRUCT (BlueprintType ,
Meta=(HasNativeMake="/Script/GameplayTags.BlueprintGameplayTagLibrary.MakeGameplayTagQuery"))
struct FGameplayTagQuery
Remarks
An FGameplayTagQuery is a logical query that can be run against an FGameplayTagContainer. A query that succeeds is said to "match". Queries are logical expressions that can test the intersection properties of another tag container (all, any, or none), or the matching state of a set of sub-expressions (all, any, or none). This allows queries to be arbitrarily recursive and very expressive. For instance, if you wanted to test if a given tag container contained tags ((A && B) || (C)) && (!D), you would construct your query in the form ALL( ANY( ALL(A,B), ALL(C) ), NONE(D) )
You can expose the query structs to Blueprints and edit them with a custom editor, or you can construct them natively in code.
Example of how to build a query via code: FGameplayTagQuery Q; Q.BuildQuery( FGameplayTagQueryExpression() .AllTagsMatch() .AddTag(FGameplayTag::RequestGameplayTag(FName(TEXT("Animal.Mammal.Dog.Corgi")))) .AddTag(FGameplayTag::RequestGameplayTag(FName(TEXT("Plant.Tree.Spruce")))) );
Queries are internally represented as a byte stream that is memory-efficient and can be evaluated quickly at runtime. Note: these have an extensive details and graph pin customization for editing, so there is no need to expose the internals to Blueprints.
Constructors
Type | Name | Description | |
---|---|---|---|
![]() |
|||
![]() |
FGameplayTagQuery
(
FGameplayTagQuery const& Other |
||
![]() |
FGameplayTagQuery
(
FGameplayTagQuery&& Other |
Functions
Type | Name | Description | |
---|---|---|---|
![]() |
void | Build
(
FGameplayTagQueryExpression& RootQueryExpr, |
Creates this query with the given root expression. |
![]() |
void | BuildFromEditableQuery
(
UEditableGameplayTagQuery& EditableQuery |
Creates this query based on the given EditableQuery object |
![]() ![]() |
FGameplayTagQuery | BuildQuery
(
FGameplayTagQueryExpression& RootQueryExpr, |
Static function to assemble and return a query. |
![]() |
void | Clear () |
Resets this query to its default empty state. |
![]() ![]() |
UEditableGameplayTagQuery * | Creates editable query object tree based on this query | |
![]() ![]() |
const FString & | Returns description string. | |
![]() ![]() |
void | GetGameplayTagArray
(
TArray< FGameplayTag >& OutGameplayTags |
Gets the explicit list of all unique gameplay tags referenced by the query. |
![]() ![]() |
const TArray< FGameplayTag > & | Gets the explicit list of all unique gameplay tags referenced by the query. | |
![]() ![]() |
void | GetQueryExpr
(
FGameplayTagQueryExpression& OutExpr |
Builds a FGameplayTagQueryExpression from this query. |
![]() ![]() |
bool | IsEmpty () |
Returns true if this query is empty, false otherwise. |
![]() ![]() |
FGameplayTagQuery | MakeQuery_MatchAllTags
(
FGameplayTagContainer const& InTags |
|
![]() ![]() |
FGameplayTagQuery | MakeQuery_MatchAnyTags
(
FGameplayTagContainer const& InTags |
Shortcuts for easily creating common query types Creates a tag query that will match if there are any common tags between the given tags and the tags being queries against. |
![]() ![]() |
FGameplayTagQuery | MakeQuery_MatchNoTags
(
FGameplayTagContainer const& InTags |
|
![]() ![]() |
FGameplayTagQuery | MakeQuery_MatchTag
(
FGameplayTag const& InTag |
|
![]() ![]() |
bool | Matches
(
FGameplayTagContainer const& Tags |
Returns true if the given tags match this query, or false otherwise. |
![]() |
void | ReplaceTagFast
(
FGameplayTag const& Tag |
Replaces existing tags with passed in tag. |
![]() |
void | ReplaceTagsFast
(
FGameplayTagContainer const& Tags |
Replaces existing tags with passed in tags. |
![]() |
void | Serialize
(
FArchive& Ar |
Serialize the tag query |
![]() |
void | SetUserDescription
(
const FString& InUserDescription |
Sets the user-specified description of this query. |
Operators
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
bool | operator!=
(
const FGameplayTagQuery& Other |
|
![]() |
FGameplayTagQuery & | operator=
(
FGameplayTagQuery const& Other |
Assignment/Equality operators |
![]() |
FGameplayTagQuery & | operator=
(
FGameplayTagQuery&& Other |
|
![]() ![]() |
bool | operator==
(
const FGameplayTagQuery& Other |
Constants
Name | Description |
---|---|
EmptyQuery |