diff --git a/crates/bevy_scene/src/dynamic_scene.rs b/crates/bevy_scene/src/dynamic_scene.rs index c77076171c..6e4651eba1 100644 --- a/crates/bevy_scene/src/dynamic_scene.rs +++ b/crates/bevy_scene/src/dynamic_scene.rs @@ -72,7 +72,7 @@ impl DynamicScene { for component in scene_entity.components.iter() { let registration = type_registry .get_with_name(component.type_name()) - .ok_or_else(|| SceneSpawnError::UnregisteredComponent { + .ok_or_else(|| SceneSpawnError::UnregisteredType { type_name: component.type_name().to_string(), })?; let reflect_component = diff --git a/crates/bevy_scene/src/scene_spawner.rs b/crates/bevy_scene/src/scene_spawner.rs index ccb3a1c6a3..71fd41aabf 100644 --- a/crates/bevy_scene/src/scene_spawner.rs +++ b/crates/bevy_scene/src/scene_spawner.rs @@ -168,9 +168,15 @@ impl SceneSpawner { let reflect_component = type_registry .get(component_info.type_id().unwrap()) - .and_then(|registration| registration.data::()) - .ok_or_else(|| SceneSpawnError::UnregisteredComponent { + .ok_or_else(|| SceneSpawnError::UnregisteredType { type_name: component_info.name().to_string(), + }) + .and_then(|registration| { + registration.data::().ok_or_else(|| { + SceneSpawnError::UnregisteredComponent { + type_name: component_info.name().to_string(), + } + }) })?; reflect_component.copy_component( &scene.world,