UAbilitySystemComponent::PostNetReceive
#include "AbilitySystemComponent.h"
Access: public
Specifiers: virtualoverride
Description
Engine replication callback invoked on clients after replicated properties have been applied. The GAS override processes changes to attributes, active effects, and ability specs that arrived in the network update.
Caveats & Gotchas
- • Always call Super::PostNetReceive() when overriding. The base GAS implementation handles attribute aggregation and effect prediction reconciliation; skipping it produces subtle bugs that are very hard to diagnose.
- • Attribute changes reconciled here may re-fire OnAttributeChanged delegates. If your UI binds directly to those delegates, avoid heavy operations inside PostNetReceive callbacks as they can fire multiple times per frame during catch-up.
- • The order of property application within PostNetReceive is not guaranteed across different UPROPERTY declarations — do not depend on one attribute already being updated when processing another.
Signature
UE_API virtual void PostNetReceive() override; Return Type
void Example
Safe override pattern C++
void UMyAbilitySystemComponent::PostNetReceive()
{
// Must call super — processes replicated ability/effect/attribute changes
Super::PostNetReceive();
// Any post-receive logic here
} Version History
Introduced in: 4.15
| Version | Status | Notes |
|---|---|---|
| 5.6 | stable | — |
Feedback
Was this helpful?