This was reported from https://udn.unrealengine.com/questions/323255/bugfix-onactive-not-triggering-for-gameplaycues-on.html
In some case it looks like OnActive gameplay cues are not working properly on standalone servers. Note:
I haven't been able to figure out what the correct fix would be, but here's the info I've got. UAbilitySystemComponent::InternalTryActivateAbility creates a new ScopedPredictionKey on line 1165:
bool bCreateNewServerKey = NetMode == ROLE_Authority &&
(!InPredictionKey.IsValidKey() ||
(Ability->GetNetExecutionPolicy() == EGameplayAbilityNetExecutionPolicy::ServerInitiated ||
Ability->GetNetExecutionPolicy() == EGameplayAbilityNetExecutionPolicy::ServerOnly));
UAbilitySystemComponent::AddGameplayCue_Internal does not generate a new prediction key, as GameplayCueContainer.bMinimalReplication is false. NetMulticast_InvokeGameplayCueAdded_WithParams_Implementation then hits that early return, as the key is server instantiated (from ::InternalTryActivateAbility) and the actor is locally controlled (listen server/single player case).
In UDN, difficult repro to see normally
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-39077 in the post.
| 0 |
| Component | UE - Gameplay |
|---|---|
| Affects Versions | 4.14 |
| Target Fix | 4.15 |
| Fix Commit | 3215326 |
|---|---|
| Main Commit | 3227721 |
| Created | Nov 28, 2016 |
|---|---|
| Resolved | Nov 30, 2016 |
| Updated | Apr 27, 2018 |