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.