When references to Gameplay Tags are loaded, it checks to see if they are already registered. If they are not already registered, it will notice it is invalid and may print a warning depending on the project settings. This can happen in the case of game feature plugins like ShooterCore in Lyra because they load later in startup.
The developer settings used by the Common UI Input Settings described in the repro use the Config system when imports gameplay tags as text. When tags are defined in a config file they go through a call in UObject::LoadConfig that does not count as "loading", so it ends up clearing the tag. It does not warn about this behavior so there is silent data loss. One possible fix is to change the config code to add PPF_SerializedAsImportText to the import.
#include "NativeGameplayTags.h" UE_DEFINE_GAMEPLAY_TAG_STATIC(TAG_UI_ACTION_PLUGIN, "UI.Action.Plugin");
Expected behavior:
The actions should look the same as they were set originally (the screenshot), or it should give you an error about it failing to load properly
Broken behavior:
The UI.Action.Plugin tag is silently cleared when the config file is read, and there is no warning for what went wrong. The UI looks like this:
[Image Removed]
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-221836 in the post.
0 |
Component | UE - Gameplay |
---|---|
Affects Versions | 5.4, 5.5 |
Target Fix | 5.5 |
Fix Commit | 35570526 |
---|
Created | Aug 14, 2024 |
---|---|
Resolved | Aug 15, 2024 |
Updated | Aug 29, 2024 |