Does the Non-Local Client Pawn ever call PossessedBy()?
Initialization is suppose to spawn and attach a series of child actors to the pawn.
Currently I have initialization in PossessedBy(), and it mostly works. Every pawn properly initializes except the CLIENT side version of the SERVER player’s pawn.
I put a debug message in PossessedBy() behind an if (Role < ROLE_Authority && !IsLocallyControlled()) filter to check if the non local pawn is calling PossessedBy(), but the message never appears.
All of the child actors for the non local pawn are spawned and visible on the CLIENT(presumably because of replication that occurs when an actor is spawned), but because PossessedBy() is never called the child actors are not attached to the non local pawn.
I am doing my testing in the “Play Stand Alone Game” option, and the Client joins the Server after a bit of a delay. So the Server Player’s Pawn has already spawned and initialized by the time the Client joins.
What function should I use to ensure that Initialization always occurs after possession on both Server and Client?