You are viewing documentation for v1.1. Switch to current version →

⏱️ RPC Async Requests

Short Description

Blueprint async action that sends AutoReplication RPCs and aggregates responder results.

Long Description

The async request action queues an AutoReplication RPC, waits for responder results, and exposes completion, failure, and per-responder callbacks. It also supports responder readiness states for long-running tasks.

🚀 Features

  • Async request node with completion and failure pins.
  • Per-responder callback as results arrive.
  • Ready-state updates for long-running responders.

📚 Usage Examples

Use Request AutoReplication RPC and bind OnSingleResponderCompleted to stream results.

UGorgeousAutoReplicationRPCRequestAsyncAction* Action = UGorgeousAutoReplicationRPCRequestAsyncAction::RequestAutoReplicationRPC(
    WorldContext, TEXT("Inventory"), EGorgeousAutoReplicationRPCType::EReliableServer, Payload
);

RequestAutoReplicationRPC

Starts an async AutoReplication RPC request and returns the action instance for binding delegates.

Parameter Name Type Description
WorldContextObject UObject* World context for the request.
Key FName AutoReplication entry key.
Type EGorgeousAutoReplicationRPCType Routing mode.
Payload FGorgeousRPCPayload RPC payload to send.
TargetKind EGorgeousAutoReplicationTargetKind Optional target override.

Use OnCompleted for final results and OnSingleResponderCompleted for progressive updates.

Best Practices

  • Use Mark RPC Responder Ready for long-running handlers to update progress.
  • Provide a result container when you want to persist aggregated results.

Troubleshooting

  • If OnCompleted never fires, confirm the timeout is set or responders are registering.
  • If results do not include all clients, verify expected responders are registered.