bevyengine/bevy · error
no `ReflectBundle` registration found for `{}`
Error message
no `ReflectBundle` registration found for `{}` What it means
Thrown by apply_or_insert_field_mapped when a reflected field is neither a component registered in the World nor has ReflectBundle type data in the TypeRegistry, so reflection has no way to apply or insert it.
Source
Thrown at crates/bevy_ecs/src/reflect/bundle.rs:296
);
} 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
- Register the type with app.register_type::<T>() and derive Reflect on it
- If it is a bundle, ensure it derives Reflect (which provides ReflectBundle data) and is registered
- Verify the correct TypeRegistry is being passed to the reflective apply/insert call
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at crates/bevy_ecs/src/reflect/bundle.rs:296 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/a6fa8558b0bf06bf.
Report an issue: GitHub.