GameplayAbilities and you

Hello,

thanks for this very useful post.

I have started to investigate the system a bit, and I’m now in the process of converting some of the abilities I coded by hand in C++ to this system.

I have a pretty good understanding of the various elements of the system, but I don’t get why I have this issue with my attempt to implement a Sprint ability.

So far, I have this game play ability:

As you can see, once my ability starts, I apply a GameplayEffect GE_Sprint_Stamina and wait to end the ability for the player to release the sprint button, or when he runs out of stamina.

Once the ability ends, I remove all game play effects which granted the Abilities.Movement.Sprint tag to the owner.

Here is my gameplay effect:

It is pretty simple I think : I just periodically decrease the stamina, and I grant the Abilities.Movement.Sprint.

This works well. When I press the sprint button, the stamina starts to decrease, until I release the button.

So far, so good.

But…

In the tick event of the blueprint of the character, I iterate over all the tags, to check the tag has been correctly removed:

Once I start sprinting, I can see the tag is in the list. But when I release the button, the tag is still displayed each tick.

Is there a better solution to this?

Thanks and keep the good work ! :slight_smile: