It prints it once for each pawn in the level. Which means it prints it twice on the server’s side and twice on the client’s side. if you had 3 players it would print it three times. The node doesn’t actually fire twice. It’s just that you have 2 pawns and they both fire.
As far as the bonus question goes, I think it is because the server has access to all Player Controllers while the clients only see their own Player Controller. But not 100% on that. I know that if you try with more players, the server will print for all the Player Controllers while the Clients only print once so…
Same problem here. I am following the Endless Runner tutorial and got stuck here: event Begin Play in RunGameMode (second video) is called twice. DoOnce also didn’t work.
Similar issue. The blueprint on the screen doesn’t do anything while I run around with the pawn, even if I set the number of clients to 1. Its like I’m still not possessing the player one pawn. Where is the setting or how do I fix it?
I solved this problem in code by checking in BeginPlay() (on an actor component) that GetOwnerRole() == ROLE_HasAuthority
I’m curious about the NotifyMatchedStarted solution posted above, but checking the role authority was a quick and easy fix for me, just starting to learn about multiplayer and replication.