From 1b2ae8f11c7783dfefd8ebb56bf169e3071b3d7c Mon Sep 17 00:00:00 2001 From: andriyDev Date: Tue, 15 Jul 2025 23:32:42 -0700 Subject: [PATCH] Send `instance_ready` events when reloading scenes as well. --- crates/bevy_scene/src/scene_spawner.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/crates/bevy_scene/src/scene_spawner.rs b/crates/bevy_scene/src/scene_spawner.rs index 187339c8c1..5243df357a 100644 --- a/crates/bevy_scene/src/scene_spawner.rs +++ b/crates/bevy_scene/src/scene_spawner.rs @@ -351,6 +351,10 @@ impl SceneSpawner { Self::despawn_instance_internal(world, instance_info); Self::spawn_sync_internal(world, *id, &mut instance_info.entity_map)?; Self::set_scene_instance_parent_sync(world, instance_info); + // We trigger `SceneInstanceReady` events after processing all scenes + // SceneSpawner may not be available in the observer. + self.instances_ready + .push((*instance_id, instance_info.parent)); } } } @@ -377,6 +381,10 @@ impl SceneSpawner { Self::despawn_instance_internal(world, instance_info); Self::spawn_dynamic_internal(world, *id, &mut instance_info.entity_map)?; Self::set_scene_instance_parent_sync(world, instance_info); + // We trigger `SceneInstanceReady` events after processing all scenes + // SceneSpawner may not be available in the observer. + self.instances_ready + .push((*instance_id, instance_info.parent)); } } }