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 |