Is the activity in the construction script cooked into the game build?

The level instance is not loaded on the client instantly. As soon as you join a server a controller is created and it possesses the assigned pawn. Either in level or spawned using the GM’s default pawn class.

These two are then replicated to you. Meanwhile you are literally still loading the level on your end. No floor, pawn falls through. Most of this takes place less than 500ms of connecting to the server.

Most devs disable character movement by default so the pawn doesn’t fall. Then run checks to determine when the level is loaded enough to enable movement.

My process is to use a “Loading Pawn” which is a Pawn class with a simple scene component. The controller by default loads a loading screen UI that displays an Image.

When the loading pawn has determined the level is loaded it calls an event on the controller which RPC’s the server → Game mode to spawn the real character and possess it. Loading pawn is destroyed, Loading UI is disabled and everything rolls on.

This process doesn’t modify the character nor the GM’s default processes. It’s also great for character customization.

I can get into details and examples tomorrow. 5am here.

2 Likes