Choose your operating system:
Windows
macOS
Linux
Module |
|
Header |
/Engine/Source/Runtime/GameplayTags/Classes/GameplayTagContainer.h |
Include |
#include "GameplayTagContainer.h" |
struct FGameplayTagQuery
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))) .AddTag(FGameplayTag::RequestGameplayTag))) );
Queries are internally represented as a byte stream that is memory-efficient and can be evaluated quickly at runtime.
these have an extensive details and graph pin customization for editing, so there is no need to expose the internals to Blueprints.
Name | Description | |
---|---|---|
|
FGameplayTagQuery() |
|
|
FGameplayTagQuery ( |
|
|
FGameplayTagQuery ( |
Name | Description | ||
---|---|---|---|
|
Build ( |
Creates this query with the given root expression. |
|
|
BuildFromEditableQuery ( |
Creates this query based on the given EditableQuery object |
|
|
FGameplayTag... |
BuildQuery ( |
Static function to assemble and return a query. |
|
Clear() |
Resets this query to its default empty state. |
|
|
UEditableGam... |
CreateEditableQuery() |
Creates editable query object tree based on this query |
|
const FStrin... |
GetDescription() |
Returns description string. |
|
GetQueryExpr ( |
Builds a FGameplayTagQueryExpression from this query. |
|
|
IsEmpty() |
Returns true if this query is empty, false otherwise. |
|
|
FGameplayTag... |
MakeQuery_MatchAllTags ( |
|
|
FGameplayTag... |
MakeQuery_MatchAnyTags ( |
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. |
|
FGameplayTag... |
MakeQuery_MatchNoTags ( |
|
|
FGameplayTag... |
MakeQuery_MatchTag ( |
|
|
Matches ( |
Returns true if the given tags match this query, or false otherwise. |
|
|
ReplaceTagFast ( |
Replaces existing tags with passed in tag. |
|
|
ReplaceTagsFast ( |
Replaces existing tags with passed in tags. |
Name | Description | ||
---|---|---|---|
|
FGameplayTag... |
operator= ( |
Assignment/Equality operators |
|
FGameplayTag... |
operator= ( |
Name |
Description |
---|---|
EmptyQuery |