Game mode firing begin play early?

I’m creating a little mobile game which runs off dedicated servers. I’d assume beginplay is to fire when the game starts, but it’s firing as soon as the level loads.

In the gamemode I’ve set it to delay start., yet it’s still firing beginplay before anyone connects.

If I monitor the game state it shows waiting to start. Am I missing something in the event flow?

Even manually firing start game keeps it in waiting to start.

Seems to be either by design or a bug, but GameMode fires beginplay early. Can use HandleMatchHasStarted instead.

I believe you need to manually call HandleMatchHasStarted as you have discovered. This is generally done once your GameMode has determined that all players have connected. Since this isn’t an automatic service I believe this is by design since “MatchHasStarted” doesn’t necessarily mean OnBeginPlay for every game.

Hi Paratus,

Shohei is correct. The Begin Play is run as soon as a blueprint has been created within the level/world, not when a game has “begun” per se. The MatchHasStarted functionality should be your best bet to determine what information is fired when the game actually begins. You can find more information on the gamemode here:

And the overall gameplay framework here: