I’m using a custom default pawn setup that calls the controller when the world (Map) has loaded enough. The controller in turn sends an rpc to the servers copy of the controller which calls a function in the game mode to spawn the character.
Seems complicated but it’s really easy. I have custom cosmetics and use modular characters. Same process would be used for character child classes or even completely different character parent classes.
Game Mode Class settings… Note default pawn class
Loading Pawn… Demo version
Production version replaces the delay with a recursive loop (timer event) that checks for specific actors existence in the level.
Code execution only happens on the Autonomous Client. Not on Sims or Server.
Player Controller Class…
Game Mode Class…
GM Srv Spawn Character function…
Another aspect of this function is to set a cosmetic config variable (Struct, RepNotify). The Onrep function assembles the character.






