Able Ability System Info and Support Thread

@ Can you please help me understand your vision of how networked abilities should work? Say I have an AoE ability that stuns a bunch of characters in an area. This ability is responsible for doing a collision query (server side) and then for each target playing the stunned ability (server side) on them. The actual stun ability is marked as a passive and has a custom event (server side) to disable controls and a particle fx task (client side) that should play on all characters.

I would expect that particle to play on all clients. I’ve looked at the code that creates the new ability to play and it ultimately calls AbilityComponent ActivateAbility. That code does a check to see if it is authoritative and if so (it is) it calls internalStartAbility. It sees it is a passive and goes through the ActivatePassiveAbility. I can’t see where this is getting sent to the clients to also activate the passive. The result is that I don’t see that particle fx play on the clients but I do see it on the local client for the server.

Is there something I’m missing here?

EDIT: Actually, I see you’re using the m_PassiveAbilityInstances to replicate passives. Unfortunately in the TickComponent the PrePendingPassiveCount and m_PassiveAbilityInstances.Num seem to be the same so PassivesChanged is false. ALso, I am running PIE with a single process to test multiplayer.