RealDocs

AActor::ProcessEvent

function Engine Since 4.0
#include "GameFramework/Actor.h"
Access: public Specifiers: virtualoverride

Description

Low-level UObject event dispatch entry point, overridden in AActor to intercept and redirect UFUNCTION calls — particularly for routing Blueprint events and remote-function calls through the actor's replication layer.

Caveats & Gotchas

  • This is called for every UFUNCTION invocation on an actor, including Blueprint events, RPCs, and delegates. Overriding without calling Super will break Blueprint execution, replication, and all dynamic dispatch for the actor.
  • ProcessEvent runs on the game thread for normal calls, but network RPCs may be queued and replayed. Never assume the call context is safe for arbitrary thread access.

Signature

ENGINE_API virtual void ProcessEvent( UFunction* Function, void* Parameters ) override;

Parameters

Name Type Description Default
Function UFunction* The reflected UFunction to execute.
Parameters void* Pointer to the packed parameter frame for this call.

Return Type

void

Example

Intercept all UFUNCTION calls for debugging C++
void AMyActor::ProcessEvent(UFunction* Function, void* Parameters)
{
    UE_LOG(LogTemp, Verbose, TEXT("ProcessEvent: %s"), *Function->GetName());
    Super::ProcessEvent(Function, Parameters);
}

Version History

Introduced in: 4.0

Version Status Notes
5.6 stable

Feedback

Was this helpful?

Suggest an edit

Select a field above to begin editing.