How to handle host migration in network programming

I’m reading about network programming in UE4, but I’ve seen no mention of host migration. Say I want something to happen one time only and I set up a blueprint like this:

OnActorBeginOverlap → SwitchHasAuthority → DoOnce → MyResultingAction

  • I run 3 game instances: A, B, and C.
  • A is the host (authority).
  • One player overlaps the trigger.
  • A’s blueprint carries out the MyResultingAction because it is the host (blueprints on B and C stop at the SwitchHasAuthority node).
  • The DoOnce node prevents the MyResultingAction from ever happening again on A.
  • A (the host) quits.
  • B takes over as the new host.

If a player overlaps the trigger again, will B’s blueprint carry out the MyResultingAction? Does the DoOnce node on B know that it fired before on A?

Do I need to make my own kind of “do once” node that uses a replicated boolean to track across all machines that the node has fired?