How to properly replicate custom events and variables in a Blueprint-based multiplayer game?

Hi all,

I’m building a multiplayer game using Blueprints only (no C++), and I’m running into some confusion with replicating custom events and variables across clients and the server.

Here’s what I’m trying to do:

  • I have a custom character ability (like a dash or attack) triggered by the player.
  • It should play animations and apply effects for all players when triggered.
  • Right now, it only works on the server — clients don’t see the animation or the effects.

Some specific questions I have:

  • Should I use Multicast or Run on Server events in this case?
  • What are the best practices for replicating variables like “IsDashing” or “IsStunned”?
  • How can I debug replication issues more effectively in PIE or standalone mode?

Any working examples or tutorials would be really helpful! Thanks in advance :folded_hands:

Proper process is to Apply the movement and FX on the owning client first, then call the server. Server can then execute the dash for itself, then call a Multicast and exclude all except simulated proxies.

Get Local Role == Simulated Proxy