bevyengine/bevy · error

no `ReflectComponent` nor `ReflectBundle` registration found

Error message

no `ReflectComponent` nor `ReflectBundle` registration found for `{}`

What it means

Panic in apply_field: the field's TypeId was resolved, but the type registry has neither ReflectComponent nor ReflectBundle type data for it, so there is no strategy to push the value onto the entity. The field's type was never registered as a component/bundle in this registry.

Source

Thrown at crates/bevy_ecs/src/reflect/bundle.rs:250

                    .map(|bundle| Box::new(bundle).into_reflect())
            },
        })
    }
}

fn apply_field(entity: &mut EntityMut, field: &dyn PartialReflect, registry: &TypeRegistry) {
    let Some(type_id) = field.try_as_reflect().map(Any::type_id) else {
        panic!(
            "`{}` did not implement `Reflect`",
            field.reflect_type_path()
        );
    };
    if let Some(reflect_component) = registry.get_type_data::<ReflectComponent>(type_id) {
        reflect_component.apply(entity.reborrow(), field);
    } else if let Some(reflect_bundle) = registry.get_type_data::<ReflectBundle>(type_id) {
        reflect_bundle.apply(entity.reborrow(), field, registry);
    } else {
        panic!(
            "no `ReflectComponent` nor `ReflectBundle` registration found for `{}`",
            field.reflect_type_path()
        );
    }
}

fn apply_or_insert_field_mapped(
    entity: &mut EntityWorldMut,
    field: &dyn PartialReflect,
    registry: &TypeRegistry,
    mapper: &mut dyn EntityMapper,
    relationship_hook_mode: RelationshipHookMode,
) {
    let Some(type_id) = field.try_as_reflect().map(Any::type_id) else {
        panic!(
            "`{}` did not implement `Reflect`",
            field.reflect_type_path()
        );

View on GitHub (pinned to 396ca72708)

Solutions

  1. Register the type: app.register_type::<MyComponent>() before applying reflected bundles
  2. Register a ReflectBundle for bundle-typed fields
  3. Check registry.get_type_data before applying and report a descriptive error
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at crates/bevy_ecs/src/reflect/bundle.rs:250 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/6af17215f0eadfe9. Report an issue: GitHub.