bevyengine/bevy · error
no `ReflectComponent` registration found for `{}`
Error message
no `ReflectComponent` registration found for `{}` What it means
Thrown by apply_or_insert_field_mapped when reflecting a bundle field onto an entity: the field's TypeId is a known component in the World, but the TypeRegistry has no ReflectComponent type data for it, so reflection cannot construct or apply it.
Source
Thrown at crates/bevy_ecs/src/reflect/bundle.rs:291
entity,
field,
registry,
mapper,
relationship_hook_mode,
);
} else if let Some(reflect_bundle) = registry.get_type_data::<ReflectBundle>(type_id) {
reflect_bundle.apply_or_insert_mapped(
entity,
field,
registry,
mapper,
relationship_hook_mode,
);
} else {
let is_component = entity.world().components().get_id(type_id).is_some();
if is_component {
panic!(
"no `ReflectComponent` registration found for `{}`",
field.reflect_type_path(),
);
} else {
panic!(
"no `ReflectBundle` registration found for `{}`",
field.reflect_type_path(),
)
}
}
}
View on GitHub (pinned to 396ca72708)
Solutions
- Derive Reflect on the component and register it with app.register_type::<T>()
- Ensure the registry passed to the reflection call is the same one the app populates (e.g. AppTypeRegistry), not a fresh TypeRegistry::new()
- If the type is a bundle rather than a component, register ReflectBundle data for it instead
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at crates/bevy_ecs/src/reflect/bundle.rs:291 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of bevyengine/bevy@396ca72708 (2026-08-20).
Data as JSON: /api/errors/a6de3fbc917872f4.
Report an issue: GitHub.