Block game replication until a client is in a certain state?

I’d like clients that connect to a server with an in progress match to have time to set some things up for a few game ticks before they actually start receiving any game state updates.

My current idea is a dirty hack where I force the player to spawn really far away beyond the net cull distance, then force them to respawn at a proper spawn point. I’m not really seeing any other options built into the engine at the moment.

As background, here’s kindof what I’m doing:

I have a small loading screen in the beginning that sets up a randomly generated level. This takes multiple game ticks so I can show a working progress bar and am not freezing up the application for a few seconds by doing it all in one game tick.

After my fake loading screen is done, I then want to receive game updates as normal, as if I just loaded a regular Unreal Tournament map and the loading screen is done, so now the game is in spectator mode for the newly joined client.

It would be very weird to start receiving game updates and hearing sounds if my level isn’t even loaded yet. It might replicate some dynamic actor positions, but there wouldn’t be any solid geometry anywhere yet. My actual .umap files are just empty space with a few actors that help kick off the random generator process on begin play.