MultiplayerSpawner errors when joining in-progress game

Godot Version

4.5.1

Question

Hey. I have a simple multiplayer game setup with a lobby and a game scene. If two players join the lobby and the game is started, there are no issues. But if the game is started with one player, and a second players joins while the game is in progress, I get the following errors and the player is never spawned in the second client:

https://imgur.com/a/Iv9wqJM

E 0:00:10:408 get_node: Node not found: “VoxelLodWorld/MultiplayerGameRoot/MultiplayerSpawner” (relative to “/root”).
<C++ Error> Method/function failed. Returning: nullptr
<C++ Source> scene/main/node.cpp:1907 @ get_node()

I am using a MultiplayerSpawner and the custom spawn function to spawn objects, and the server will only spawn each player once their client reports they have finished loading the game scene (by sending the ready message to the server once the game scenes _ready() function is called). And if I inspect the client where the failure is happening using the remote scene viewer, I can verify the path from the error is valid.

Any ideas what might be happening here? I get the same errors even if I don’t try and spawn the second player, so I am assuming that the MultiplayerSpawner is doing something automatically and that is where the failure lies.

I added a delay of 5 seconds for each client between when they finish loading the game scene and when they notify the server they are done loading and need spawning in.

If client-2 joins the game after client-1 has finished loading the game AND spawned, I get these errors. If client-2 joins the game after client-1 has finished loading the game but has NOT yet spawned, then I get no errors and it works as expected.

I can only reason that the MultiplayerSpawner must be doing something automatically after spawning at least one object for new clients, but I can’t find anything in the docs to suggest what :frowning: