Export EditorInspector::instantiate_property_editor
for plugin development in the Godot API
#8908
Labels
EditorInspector::instantiate_property_editor
for plugin development in the Godot API
#8908
Describe the project you are working on
LimboAI behavior trees & state machines (C++ module and extension)
https://github.com/limbonaut/limboai
Describe the problem or limitation you are having in your project
We have a custom
EditorProperty
that adds additional UI controls and reuses existing property editors. It uses editors declared ineditor_properties.h
and other files to edit a value of a behavior tree parameter and adds additional functionality like an ability to bind the edited property to a blackboard variable. Currently, I don't see a way how we can have the same functionality in GDExtension version unless we reimplement every property editor in the core.Here is a short demonstration video:
limboai_param_custom_editor.mp4
I could also use
instantiate_property_editor
to implement a custom blackboard editor with a better experience than editing aDictionary
property.Describe the feature / enhancement and how it helps to overcome the problem or limitation
Expose
EditorInspector::instantiate_property_editor
in the Godot API, so that plugin developers could reuse existing property editors in their projects.Currently,
instantiate_property_editor
is used by the following classes in the core:Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams
If this enhancement will not be used often, can it be worked around with a few lines of script?
Very hard to achieve, considering that other custom property editors can be registered by various plugins.
We could reimplement every property editor that exists in the core...
Is there a reason why this should be core and not an add-on in the asset library?
It is already in the core. Reimplementing property editors would only lead to repetition and fragmentation.
The text was updated successfully, but these errors were encountered: