Multiplayer Custom Game Mode Behaviour Inconsisted From PIE to Standalone

Here is my controller class:

In PIE, it executes the first print log (“Server!”) and the second one (which prints the team ID of the player that is respawning).

As soon as I play as standalone game, it doesn’t print the “Server!” message, but does print the team message. How is it even able to do that? There is no way that it can skip past that first message!

The “PC client still has control” message at the top is printed when the player has not yet died and is not awaiting respawn. In PIE, this message is printed if I try to respawn while I am still alive. In standalone, it attempts to respawn me regardless, completely ignoring the Is Valid check that determines if the player is dead, so it does not print this message, and instead skips straight away to print the team message.

Here is my custom game mode which receives the respawn event:

Now, in PIE it prints out the “We got to the mode” message, and successfully executes all of my possession logic that follows it.

Meanwhile, in standalone testing, the “We got to the mode” message is not printed, and none of my respawning logic works at all. Essentially, I have a working multiplayer game that only works in PIE. Anyone know what is going on here? I am absolutely baffled.

Do gamemodes and possession work differently when the game runs as a standalone process? It really seems to be the case.

Turns out that the team printing was going on from a different Print String somewhere else. This means that my problem is solely from getting input from the player.

I have since determined that this bug isn’t related much to my game mode or controller, so I will start a new thread about getting input from the client computer, which seems to be the problem.