Pull Request #65

Adding IGameplayTagAssetInterface to modular gameplay actors

on March 30th, 2023

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.

image

image
image
image
image
image