Quick answer: Godot 4 MultiplayerSpawner ignoring nodes that exist in the scene at startup? Spawner only tracks runtime spawns - mark pre-existing nodes with the spawner.

Level has placed enemies. Host sees them; clients connect to empty world.

Pre-register existing nodes

On _ready: spawner.spawn(existing_node). Tracked from there; replicates to clients.

Or use scene-state replication

For levels with static content, replicate the scene tree at connection. Heavier; covers everything.

Verify with the network profile

Spawner tracks N nodes; expected M. Mismatch indicates which side has the bug.

“Spawners are runtime tools. Pre-existing actors need explicit registration.”

For levels with placed actors, the registration pass is non-optional. Document in your level workflow.

Related reading