Quick answer: The owning actor AND the component must have bReplicates = true. RPC events must be marked Reliable + Multicast/Server, and use SetIsReplicated(true) in component constructor.
A weapon Blueprint component implements a Fire event as Multicast RPC. Server triggers; nothing happens on clients. The component isn’t replicating.
Both Actor + Component Replicate
In Class Defaults of the actor: bReplicates = true.
In the component (Blueprint Construction Script or C++):
WeaponComp->SetIsReplicated(true);
Or check the “Component Replicates” box in the component’s Details panel.
RPC Type
In the BP event Details:
- Replicates: Multicast: server → all clients (including server).
- Replicates: Run On Server: client → server.
- Reliable: TCP-like guarantee. Use for important events.
Call from Authority
Multicast RPCs only propagate when called on the server. From client: nothing happens. Wrap calls in HasAuthority check or use Server RPC to relay through server.
Verifying
Listen Server + clients. Server triggers Fire; both clients see VFX/audio. Log on event entry confirms each peer reached.
“Replicated actor + replicated component + server-side call = events reach everyone.”
For cosmetic-only events (VFX, sounds), Unreliable Multicast is cheaper than Reliable — drops in heavy traffic but cosmetic loss is fine.