Quick answer: Godot 4 MultiplayerSpawner not creating actors on late-joining peers? Spawn function must be deterministic and side-effect free - check the spawn_function for non-replicated state.
Host spawns enemies via spawn_function. Late-join client gets empty world.
Make spawn deterministic
Spawn function receives spawn data and must produce the same node every time. Reading from server-only state breaks this.
Send spawn data explicitly
Call spawn(data) with all data needed for reconstruction. Client side reads only the data arg.
Verify with state debug
Late-join client's _ready logs should show received spawn data. Empty data = host's spawn call lacked content.
“Multiplayer spawner is a replication primitive. Determinism is the contract.”
Treat spawn functions like pure functions of their arguments. The structure prevents most multi-peer bugs.