UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
GameplayTagsSettings.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
7#include "UObject/Object.h"
12#include "GameplayTagsSettings.generated.h"
13
15USTRUCT()
17{
19
20 UPROPERTY(EditAnywhere, Category = GameplayTags)
21 FString BaseCategory;
22
23 UPROPERTY(EditAnywhere, Category = GameplayTags)
24 TArray<FString> RemapCategories;
25
27 {
28 return A.BaseCategory == B.BaseCategory && A.RemapCategories == B.RemapCategories;
29 }
30};
31
33UCLASS(config = GameplayTagsList, MinimalAPI)
35{
37
38
39 UPROPERTY()
40 FString ConfigFileName;
41
43 UPROPERTY(config, EditAnywhere, Category = GameplayTags, meta = (ConfigRestartRequired = true))
44 TArray<FGameplayTagRedirect> GameplayTagRedirects;
45
47 UPROPERTY(config, EditAnywhere, Category = GameplayTags)
48 TArray<FGameplayTagTableRow> GameplayTagList;
49
51 GAMEPLAYTAGS_API void SortTags();
52};
53
55UCLASS(config = GameplayTags, MinimalAPI)
57{
59
60
61 UPROPERTY()
62 FString ConfigFileName;
63
65 UPROPERTY(config, EditAnywhere, Category = GameplayTags)
66 TArray<FRestrictedGameplayTagTableRow> RestrictedGameplayTagList;
67
69 GAMEPLAYTAGS_API void SortTags();
70};
71
72USTRUCT()
74{
76
77
78 UPROPERTY(config, EditAnywhere, AdvancedDisplay, Category = GameplayTags)
79 FString RestrictedConfigName;
80
81 UPROPERTY(config, EditAnywhere, AdvancedDisplay, Category = GameplayTags)
82 TArray<FString> Owners;
83
84 GAMEPLAYTAGS_API bool operator==(const FRestrictedConfigInfo& Other) const;
85 GAMEPLAYTAGS_API bool operator!=(const FRestrictedConfigInfo& Other) const;
86};
87
102UCLASS(config=GameplayTags, defaultconfig, MinimalAPI)
104{
106
107
108 UPROPERTY(config, EditAnywhere, Category = GameplayTags)
109 bool ImportTagsFromConfig;
110
112 UPROPERTY(config, EditAnywhere, Category = GameplayTags, meta = (ConfigRestartRequired = true))
113 bool WarnOnInvalidTags;
114
115 UE_DEPRECATED(5.5, "We never clear invalid tags when reading saved tag references as the loading order of native tags is not guaranteed.")
116 UPROPERTY(config)
117 bool ClearInvalidTags = false;
118
120 UPROPERTY(config, EditAnywhere, Category = "Advanced Gameplay Tags")
121 bool AllowEditorTagUnloading;
122
124 UPROPERTY(config, EditAnywhere, Category = "Advanced Gameplay Tags")
125 bool AllowGameTagUnloading;
126
128 UPROPERTY(config, EditAnywhere, Category = "Advanced Replication")
129 bool FastReplication;
130
132 UPROPERTY(config, EditAnywhere, Category = "Advanced Replication", meta=(EditCondition="!FastReplication"))
133 bool bDynamicReplication;
134
136 UPROPERTY(config, EditAnywhere, Category = GameplayTags)
137 FString InvalidTagCharacters;
138
140 UPROPERTY(config, EditAnywhere, Category = GameplayTags)
141 TArray<FGameplayTagCategoryRemap> CategoryRemapping;
142
144 UPROPERTY(config, EditAnywhere, Category = GameplayTags, meta = (AllowedClasses = "/Script/Engine.DataTable"))
145 TArray<FSoftObjectPath> GameplayTagTableList;
146
148 UPROPERTY(config, EditAnywhere, Category = "Advanced Replication")
149 TArray<FName> CommonlyReplicatedTags;
150
152 UPROPERTY(config, EditAnywhere, Category = "Advanced Replication")
153 int32 NumBitsForContainerSize;
154
156 UPROPERTY(config, EditAnywhere, Category= "Advanced Replication")
157 int32 NetIndexFirstBitSegment;
158
160 UPROPERTY(config, EditAnywhere, AdvancedDisplay, Category = "Advanced Gameplay Tags")
161 TArray<FRestrictedConfigInfo> RestrictedConfigFiles;
162
163#if WITH_EDITORONLY_DATA
164 // Dummy parameters used to hook the editor UI
169 UPROPERTY(EditAnywhere, AdvancedDisplay, transient, Category = "Advanced Gameplay Tags")
170 FString RestrictedTagList;
171
173 UPROPERTY(EditAnywhere, transient, Category = "GameplayTags")
174 FString NewTagSource;
175
177 UPROPERTY(EditAnywhere, transient, Category = "GameplayTags")
178 FString CleanupUnusedTags;
179#endif
180
181#if WITH_EDITOR
183 GAMEPLAYTAGS_API virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override;
184
185private:
186 // temporary copy of RestrictedConfigFiles that we use to identify changes in the list
187 // this is required to autopopulate the owners field
189#endif
190};
191
192UCLASS(config=EditorPerProjectUserSettings, meta=(DisplayName="Gameplay Tag Editing"), MinimalAPI)
194{
196
197 GAMEPLAYTAGS_API virtual FName GetCategoryName() const override;
198
200 UPROPERTY(config, EditAnywhere, Category=GameplayTags)
201 FString DeveloperConfigName;
202
204 UPROPERTY(config, EditAnywhere, Category=GameplayTags)
205 FName FavoriteTagSource;
206};
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
#define USTRUCT(...)
Definition ObjectMacros.h:746
#define GENERATED_USTRUCT_BODY(...)
Definition ObjectMacros.h:767
Definition NameTypes.h:617
Definition UnrealType.h:174
Definition Array.h:670
Definition DeveloperSettings.h:24
Definition GameplayTagsSettings.h:194
Definition GameplayTagsSettings.h:35
Definition GameplayTagsSettings.h:104
Definition Object.h:95
Definition GameplayTagsSettings.h:57
Definition GameplayTagsSettings.h:17
Definition UnrealType.h:6865
Definition GameplayTagsSettings.h:74