Gameplay Cue and Periodic Effect Issue

Hi,
There seem to be an issue with gameplay cues invoked by periodic effects with duration on clients.

Here’s how to reproduce it assuming a setup with players each with an ability system set in mixed replication mode.

  • Create a new gameplay effect with a fixed duration and a period.
  • Make this gameplay effect apply a gameplay cue (AGameplayCue_ActorNotify).
  • Make the gameplay cue applied by the effect log in the WhileActive and OnRemove functions. (Anything to show the methods are called or not) and make sure Auto Destroy On Remove is set.
  • Start the game in listen server with 2 players.
  • Make the host apply the gameplay effect to itself.
  • Notice that WhileActive is called on both the client and the server, but OnRemove is called right after and constantly while the effect is active on the client instead of just when the effect stops.

This change seems to be related to the fix made for UE-153981. Reverting that change seems to fix the issue.

Anyone else has encountered this issue?

6 Likes

I’ve noticed the same thing, not fixed in 5.1.1

1 Like

I’m facing the same issue.

If you change ASC Replication Mode from Mixed to Full it works well.

Maybe we are missing something…

1 Like
CueParameters.bGameplayEffectActive = Spec.Def->DurationPolicy == EGameplayEffectDurationType::Instant || ActiveGameplayEffects.GetActiveEffectCount(EffectQuery) > 0;

Looks like it might be this line that breaks it. If you aren’t set to Full Replication Mode ActiveGameplayEffects will always be 0 (since gameplay effects are not replicated) and the client will think the cue should be removed right away

3 Likes