Download

Diference between Source and Owner of GameplayAbilities

Can someone please explain to me what is the difference between the owner and the source of a gameplay ability?

For example: in the gameplay abilities page of the wiki page it says:

Activation Required Tags: The Owner has to have these tags BEFOREHAND so that it may become activatable. Great for, say, buffs that allow you access to strong abilities, or perhaps status effect-purging abilities that are only activatable as you are affected by the status effect at hand.

Source Required Tags: The source must have these tags. What the system considers “source tags” is not immediately obvious because it isn’t explained anywhere, but you can trigger abilities with payloads containing this information using a feature called GameplayEvents, which are detailed much further down below. The GameplayEvent will pass a struct which you can fill out as you please beforehand, with the InstigatorTags in that struct acting as the tags used in the Source Required and Source Blocked checks. When the payload contains all tags here specified in some capacity, the ability activation is allowed.

But I have not understood the difference between the two.

A GameplayAbility can use one of two activation methods: direct activation (by using input binding and/or calling activate on the ability system component) and gameplay event activation.

The “owner” tags are used in both activation modes, and lists the tags the actor containing the ability system component must/must not have before the ability can be allowed to activate.

The “source required” and “source blocked” tags are used for event-driven activation only. The ability will check if the event payload’s InstigatorTags contains all the tags listed in the ability’s “source required tags” and *none *of the tags listed in the “source blocked tags” and only then will allow activation.

Thanks a lot.