The Gameplay Tags System is the UE4 method for declaring and querying hierarchical tags. This approach is helpful to organizing concepts and data. It’s primarily used in Unreal’s Gameplay Ability System, but also be used in individual games. In this blog, we will learn what GameplayTags are and how you utilize them in your game even if you don’t use GAS.
GameplayTags are FNames that are declared in the project settings for the game. This is a Gameplay Tag with three levels that would take the form of “Family.Genus.Species”. “Family” is the widest identifier in the hierarchy, and “Species” is the most detailed. Using these tags has several advantages. For example, easy selection in the Editor’s UI and the ability to combine numerous tags using GameplayTagContainers (Array of GameplayTags with many helper-functions). Instead of using TArray with FGameplayTag, you should always use GameplayTagContainer. It contains assistance functions for quickly matching one or more tags.
Another aspect is the hierarchy, which may be used to locate certain tags or their parents. This allows you to design a tag tree that ranges from broad to narrow. If two things are classified as “Weapon.Ranged” and “Weapon.Melee,” for example, MatchesTag(“Weapon”) is true for both. Because exact matches exclude parent tags, MatchesTagExact(“Weapon”) would be false for both.
For the engine to recognize Gameplay Tags, you need to add them to the central tag dictionary. These are three ways to create (or remove) them:
- Manually adding or removing them in the Project Settings menu.
- Creating and editing .ini files in the “GameplayTags” folder.
- Creating Data Table Assets.
By opening the Gameplay Tags tab under the Project section, you may set up all three techniques under Project Settings.
Manually entering Gameplay Tags in the Project Settings menu is the simplest way to do so. Config/DefaultGameplayTags.ini, as well as all Gameplay Tags in any folder, will be loaded if the Import Tags From Config option is enabled. ini files can be located in the Config/Tags folder. Add New Gameplay Tag will display, and you may use this option to add new Gameplay Tags to any current Gameplay Tag. ini files, as well as the default one. This method of adding tags includes an optional area for giving a brief description, which will appear as a tooltip in the editor.
The Import Tags From Config option must be enabled in order to add tags using your own.ini files. Then, Gameplay Tags will be loaded from each of the. ini files. You can identify them in your project’s Config/Tags/ directory and simply change them by hand. If you make these changes while the editor is open, you can reload the files by turning off and on the Import Tags From Config option. The format of these files is as follows:
By clicking to the Gameplay Tags Developer option within Project Settings and filling up the Developer Config Name with your desired filename, you can create a “Developer Tag” config file. If this option is enabled, it will save all tags added to the default.ini file (by you) to a file that you select. Your.ini file will be saved in the Config/Tags folder. And you can share with other developers or submit to your source control system without any further changes.
So, you have benefits when working on huge projects with thousands of tags, or when separating tags developed by unique developers, or for use with certain game features. This is entirely optional, some teams and workflows can see it helpful to have certain tags stored in separate files.
Finally, using DataTable assets with the row type GameplayTagTableRow, tags can be inserted. This is notably handy for importing Gameplay Tags from an external source, such as an Excel spreadsheet file, but you may also construct your own and work with it in-editor if you don’t have a file to import. Once you’ve finished creating your asset, go to the Project Settings menu and add it to the GameplayTagTableList, and all of the tags it contains will be added to the Gameplay Tag Manager. This method allows you to list various assets, so you can divide your project’s tags into distinct spreadsheets (if this helps your workflow or organization).
Add Gameplay Tags (C++ type FGameplayTag) or Gameplay Tag Containers (C++ type FGameplayTagContainer) properties to your game objects to apply the tags you’ve defined. Gameplay Tag Queries (C++ type FGameplayTagQuery) can be added to your objects as needed, or the tag operations can be used directly in Blueprints or C++ code. After you’ve added these attributes, you can edit them like any other variable in the code or editor.
Currently, Unreal Engine utilizes the video card solely to display the graphics on the screen. At iRender, we built servers with 1 RTX 3090 GPU to serve the Unreal Engine.
iRender provides high-performance servers for GPU-based engine rendering through the Remote Desktop application. It only takes a few simple steps to get started, and you will have complete control over remote servers at iRender. Using the remote server is the same as using any other computer you have used before. We are really proud of our outstanding support staff. They can solve any problem at any moment you need them to, and they don’t make you wait long.
iRender – Happy Rendering!
The Reference: unrealengine.com