I have an actor component that I want to modify the tags of its owner, I thought this would be as easy as simply getting a reference to the owner and then getting a reference to the Gameplay Tag Container, but this doesn’t seem to work. From what I can tell it seems to be impossible to get a reference to a Gameplay Tag Container in blueprint. There isn’t even a variable type for a reference.
I thought perhaps my issue was that I hadn’t implemented the IGameplayTagAssetInterface in C++. So I did that, but I still see no way to access the tag container from outside of the actor. Get Owned Tags doesn’t seem to return a reference.
So what is the expected approach to actor add a gameplay tag to a different actor? In my working code above, I’m casting to a parent class that has the container variable so I can access it directly.
Is this the way the system is expected to be used? With all taggable actors inheriting from a parent class containing the variable then casting to it to modify the tags? (or implementing an interface + logic for handling the adding/removing of tags?)