Gameplay Tags
- "user-defined strings that function as conceptual, hierarchical labels"; like booleans/flags. Examples Character.Enemy.Zombie, Movement.Mode.Swimming, GameplayEvent.RequestReset. Any number of levels separated by '.'.
- Must be in tag dictionary: Project Settings (Import Tags From Config: Config/DefaultGameplayTags.ini and Config/Tags/*.ini; Gameplay Tag Manager), Data Tables (GameplayTagTableRow; csv/json), C++ macros in NativeGameplayTags.h (UE_DECLARE_GAMEPLAY_TAG_EXTERN, UE_DEFINE_GAMEPLAY_TAG, _COMMENT, _STATIC). Add GameplayTags module to Build.cs. Editing .ini requires editor restart.
- FGameplayTagContainer: AddTag, RemoveTag, AppendTags. Conditional: HasTag, HasAny, HasAll. Empty container input returns false except All functions.
- FGameplayTagQuery: Any Tags Match, All Tags Match (empty → true), No Tags Match (empty → true); root expressions Any/All/No Expressions Match.
- Restricted tags: Restricted Config Files with owners; can't delete in editor.
- IGameplayTagAssetInterface: GetOwnedGameplayTags; get tags without casting (Lyra ALyraTaggedActor, LyraGameplayTags).