Conditional Gameplay Effects

The Gameplay Effect blueprint has a field called: Conditional Gameplay Effects that takes a gameplay effect and a required source tag. I can’t find any tutorials or documentation on how to use this.
My assumption was that a gameplay effect can chain another if the required source tag is assigned, but I can’t make it do anything.

Is the source tag supposed to be on the character trying to activate the gameplay effect? In the Character Blueprint I tried calling the “Add Gameplay Tag” node with the tag that would trigger the conditional gameplay effect to no avail. For the Tag Container I used the “Get Owned Gameplay Tags” node. I tried calling those nodes from “Begin Play” and from the constructor to no avail.

For triggering the Gameplay Effect I’m calling ApplyGameplayEffectToSelf in C++ because I can’t seem to make it work in Blueprints. I don’t see how to make a proper Effect Context in Blueprints. All the options don’t allow for setting any values. Is there a way to set it up in Blueprints?

When I do get the Gameplay Effect to trigger (through c++), the conditional gameplay effect is never firing. How do I fix this (preferably in Blueprints)?

EDIT: I tried hooking it all together to a key. Setting the tag and immediately calling the Gameplay Effect with the conditional gameplay effect set, but the conditional one doesn’t trigger:

EDIT 2: Looking at the source code, it looks like the conditional gameplay effects are not even hooked up. The function that activates them MarkConditionalGameplayEffectsToTrigger() is not called anywhere.

2 Likes

I keep updating this as I find out more about the changes. Looks like the docs have been updated. Gameplay Effects Docs

In 5.3, in Gameplay Effects ‘Conditional Gameplay Effects’ was removed from the GameplayEffect category and now ‘Components’ was added. It looks like this is where the effect tags have been moved. Examples can been found in the Lyra (5.3) project, within several of the effects. There’s still a ‘Conditional Gameplay Effects’ in the Executions that doesn’t seem to be in use.

1 Like