diff options
-rw-r--r-- | modules/multiplayer/multiplayer_synchronizer.cpp | 2 | ||||
-rw-r--r-- | modules/multiplayer/scene_replication_interface.cpp | 1 |
2 files changed, 2 insertions, 1 deletions
diff --git a/modules/multiplayer/multiplayer_synchronizer.cpp b/modules/multiplayer/multiplayer_synchronizer.cpp index 12b4ac540d..02e3a11964 100644 --- a/modules/multiplayer/multiplayer_synchronizer.cpp +++ b/modules/multiplayer/multiplayer_synchronizer.cpp @@ -49,11 +49,11 @@ void MultiplayerSynchronizer::_stop() { } #endif root_node_cache = ObjectID(); - reset(); Node *node = is_inside_tree() ? get_node_or_null(root_path) : nullptr; if (node) { get_multiplayer()->object_configuration_remove(node, this); } + reset(); } void MultiplayerSynchronizer::_start() { diff --git a/modules/multiplayer/scene_replication_interface.cpp b/modules/multiplayer/scene_replication_interface.cpp index c3d239e4b7..35ff62dd06 100644 --- a/modules/multiplayer/scene_replication_interface.cpp +++ b/modules/multiplayer/scene_replication_interface.cpp @@ -246,6 +246,7 @@ Error SceneReplicationInterface::on_replication_start(Object *p_obj, Variant p_c uint32_t net_id = pending_sync_net_ids[0]; pending_sync_net_ids.pop_front(); peers_info[pending_spawn_remote].recv_sync_ids[net_id] = sync->get_instance_id(); + sync->set_net_id(net_id); // Try to apply spawn state (before ready). if (pending_buffer_size > 0) { |