Adding IGameplayTagAssetInterface to modular gameplay actors #
For:
- AGSCModularCharacter
- AGSCModularActor
- AGSCModularDefaultPawn
- AGSCModularPawn
- AGSCModularPlayerStateCharacter
Changelog #
In case your project was using a custom C++ class inheriting from one of the following classes (AGSCModularCharacter, AGSCModularActor, AGSCModularDefaultPawn, AGSCModularPawn, AGSCModularPlayerStateCharacter) and was already implementing IGameplayTagAssetInterface
, you may hit a compilation error on this version update.
ProjectCharacter.h(11): [C4584] 'ProjectCharacter': base-class 'IGameplayTagAssetInterface' is already a base-class of 'AGSCModularCharacter'
You can either remove the interface implementation and rely on the one provided in GSC (remove of , public IGameplayTagAssetInterface
and implementation of GetOwnedGameplayTags, HasMatchingGameplayTag, HasAllMatchingGameplayTags, HasAnyMatchingGameplayTags
), or just remove the , public IGameplayTagAssetInterface
bit if you still want to implement the interface methods.
And added test coverage via functional test in editor (eg. F_GameplayTagInterface_Test and F_GameplayTagInterface_Level), to ensure owned gameplay tags on ASC and the one returned via Interface call on the actor itself are the same.