FyroxEngine/Fyrox · warning
Unable to create property editor instance: Reason
Error message
Unable to create property editor instance: Reason {e:?} What it means
The Inspector builds one property editor widget per property of the inspected object. If creating the editor for a property fails (e.g. no editor definition is registered for the property's type), it falls back to a simple text placeholder and logs this error.
Solutions
- Register a property editor definition for the property's type (implement/implement a custom editor via PropertyEditorDefinition)
- Use a supported type or add a #[derive] attribute hint (e.g. value editors like number/text) the inspector understands
- Read the `Reason` in the message to see exactly why the editor construction failed
- As a stopgap, inspect the property manually or exclude it from the inspected object
Example fix
// before (no editor registered for MyType)
struct MyType { x: f32 }
// after: expose an editor-supported inner value instead
struct MyType { x: f32 } // register:
inspector.editors.register(MyType::type_uuid(), MyTypeEditorDefinition::default()); Defensive patterns
Strategy: fallback
Validate before calling
// Check editor support before inspecting:
// if inspector.editors.definition(MyType::type_uuid()).is_none() { register(...) } Prevention
- Register editor definitions for every new type added to inspected objects
- Prefer editor-supported primitive types for inspected fields
- Read the Reason in the log to identify the missing editor
When it happens
Trigger: Inspecting an object with a property whose type has no registered property editor definition; a custom editor definition returned Err from its constructor; type erased via reflection not matching any known editor.
Common situations: Adding a new struct/enum type to an inspected object without registering an editor for it; version upgrades where editor definitions moved or were removed; generic/newtype wrappers lacking editor support.
Understand the failure class
Background: 'Could not be found', 'does not exist', 'not found in database': the resource-not-found family when an ID, slug, key, or URI lookup comes back empty — this error's family across 20 libraries.
Related errors
- err.to_string()
- Cannot add window to split tile
- Cannot subtract window from split tile
- Implement me!
- Node column out of bounds
AI-assisted analysis of FyroxEngine/Fyrox@76c91aad8e (2026-09-10).
Data as JSON: /api/errors/7073e3f178fc3786.
Report an issue: GitHub.
Appendix: source
Thrown at fyrox-ui/src/inspector/mod.rs:1451
property_editor: editor,
property_value_type_id: definition.property_editor.value_type_id(),
property_editor_definition_container: definition_container.clone(),
property_name: info.name.to_string(),
property_display_name: info.display_name.to_string(),
property_tag: info.tag.to_string(),
property_debug_output: field_text.clone(),
property_container: container,
property_path,
});
if info.read_only {
ctx[editor].set_enabled(false);
}
container
}
Err(e) => {
Log::err(format!(
"Unable to create property editor instance: Reason {e:?}"
));
make_simple_property_container(
create_header(ctx, info.display_name, 0.0, None, layer_index),
TextBuilder::new(WidgetBuilder::new().on_row(i).on_column(1))
.with_wrap(WrapMode::Word)
.with_vertical_text_alignment(VerticalAlignment::Center)
.with_text(format!(
"Unable to create property \
editor instance: Reason {e:?}"
))
.build(ctx),
&description,
name_column_width,
false,
ctx,
)
}View on GitHub (pinned to 76c91aad8e)