GAS: How to extend a gameplay cue duration when an effect gets added

The title is a little vague, so let me give you an example!

I have an effect GE_Fast that has a duration of 5 seconds, adds 10 to the speed, and trigger a looping cue VFX (for now the VFX is just a cube placed in a GCN_Looping).

If I apply the effect once, it works nicely, the speed stats increase, the vfx shows up, and after 5 seconds, the stats decrease, and the vfx disappears.

But, if I apply the effect more than once, the stats works correctly (+10 and then -10 after 5 seconds), but the VFX disappears after the first effect instance terminates:

  • initial state → (speed = 600)
  • :watch:00:00 → apply GE_Fast (speed = 610)
  • :watch:00:03 → apply GE_Fast (speed = 620)
  • :watch:00:05 → end of the first effect instance (speed = 610) :lady_beetle: VFX disappears :lady_beetle:
  • :watch:00:08 → end of the second effect instance (speed = 600) I would like the VFX to disappear here instead

In this video you can see the problem, the speed stat is displayed on the bottom left.

What I want, is for the vfx to stay as long as one GE is active, something like updating the looping cue remaining duration. But I don’t want multiple cue instances, if I apply the effect 10 times, I want only one cue instance. The reason is that in the end I want to have the same visual VFX for different Gameplay Effects.

I tried playing with all settings available, including with stacking options, but didn’t manage to achieve this. Any help would be appreciated :slight_smile:

Here is the GE

Here is the GC

One method I think that may work is making 2 Gameplay effects, one for the change of the attribute and another for the VFX.
The "GE_Fast” Only changes de attribute speed, the duration etc.. leave it the same.
1→ In the Components of “GE_Fast” Add a “Grant Tag to Target Actor”, Add the desired tag for this.
Something like “Gameplay.VisualEffect.FastMovement”.

2→Now in the second Gameplay Effect “GE_Fast_VFX” make it infinite With no Stacking.
In the components Add “Require Tags to Apply Continue this effect” inside Ongoing add in “Must have tags” the previous tag created “Gameplay.VisualEffect.FastMovement”.
Now while Any instance of GE_Fast is active and has granted this tag to the actor GE_Fast_VFX will Fire until the tag is removed due to the end of all GE_FAST.

3→Now the things is dealing with the add and remove of GE_Fast VFX.

add it Inside GE_Fast with apply aditional effects
Dont remove it inside GE_Fast cause the same issues.

An option is to remove GE_FAST_VFX outside with a wait for tag removed task and a remove gameplay effect.



Other way may to do all this can be with a gameplay cue actor looping with a single instance.

Maybe there are a simpler way to do it, that is the solution on the top on my head.

Good Luck.