Clients spawn doesn't work with Start as Spectator

Hello. I’ve been trying to setup spawn for players in Multiplayer Game. As far as I am using seamless travel, because of Lobby system, I have to somehow detect when players loaded whole map (with spawning items and so on). I am doing this with Event Tick on MyPlayerController, as you can see on First Screenshot. I’ve added “Is Map Loaded” in level blueprint, which setting as true when all spawn functions fired. ClientPostLogin is replicated and it’s including changing state of the game, setting up UI and RespawnPlayerEvent. The thing is that RespawnPlayerEvent working only for server, others just spawn as Spectators. If I untick “Start Players as Spectators” in GameMode - then they spawns as Characters. But I need this tick. That’s why I am asking you if there are some troubles with my spawning.

1 Like

Well, I solved this riddle. First of all, looks like I can’t Call ServerOnlyEvent inside of ClientOnlyEvent. Also I don’t need Delay in RespawnEvent, it can cause some problems. Now I call Respawn Event before ClientPostLogin Event, and it works perfectly fine.

Mind sharing your resolved blueprints? Im trying to figure out what’s possible when a game starts with delayed start. Such as the ability to to set a team etc but can’t seem to get it to work because the spectator can’t call server function.

I could share my blueprints, but they are a bit messy… I think you have to call functions on GameStateBP, if you want to do something with spectators. I made kind of delayed start by creating ServerEvent which exist on GameStateBP. When all players traveled from lobby to map - start countdown on server by calling Event from GameModeBP.

I don’t know how correctly use Delayed Start option in GameMode settings, so I created ENum for Session States and just change states when it’s neccessary. Hope it helps somehow.