RealDocs

UAbilitySystemComponent::PostNetReceive

function GameplayAbilities Since 4.15
#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?

Suggest an edit

Select a field above to begin editing.