Split inspector property sections into tabs#118359
Conversation
|
I don't think it's a good idea to make this the default. Feels like it would increase the number of clicks in order to do things. Also, how does it look with the default theme? |
|
This is just a first look I haven't looked in depth on implmentation but the two things that comes to mind immediatly are :
I'm not 100% sure of the usefullness of this behaviour but anyway it should not be on by default which I'm not sure wether it is the case or not because of your screenshots not having a canvas item tab On the rest idea I'm mostly in favor of this but will take a closer look at the implementation sometime this week-end |
This behavior was pulled from the https://github.com/PiCode9560/Godot-Inspector-Tabs addon. Currently, it is true by default, but I'll change it to false. |
The scroll hints don't work with it on vertical mode. In that state, they should be toggled off, and the inspector use the theme variation with a panel. Also, for the modern theme, the horizontal tabs should use the inner tab theme variation. Something should be done for the vertical ones too. |
|
I feel like the headers are redundant in the tabbed mode but this is just a nit. *Edit: they are still needed when the tabs are icons only. |
|
They aren't redundant when the abstract tab merging is active, and you have an abstract class (niche). I think the cost of removing them in terms of clarity is greater than the value derived from the deduplication. |
|
This PR will not be using #118358 in its final version for the vertical capabilities, but instead #116485. As such, the PR has been converted to a draft because it currently includes an extra commit (see below) that serves as a technical placeholder. This commit should never be merged into the engine as it is superseded by #116485. It also technically doesn't require the |
| inspector_tab_bar->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT); | ||
| tab_bar_container->add_child(inspector_tab_bar); | ||
| inspector_tab_bar->connect("tab_selected", callable_mp(this, &InspectorDock::_on_inspector_tab_selected)); | ||
| inspector_tab_bar->connect("minimum_size_changed", callable_mp(this, &InspectorDock::_update_tab_bar_layout)); |
There was a problem hiding this comment.
| inspector_tab_bar->connect("minimum_size_changed", callable_mp(this, &InspectorDock::_update_tab_bar_layout)); | |
| inspector_tab_bar->connect(SceneStringName(minimum_size_changed), callable_mp(this, &InspectorDock::_update_tab_bar_layout)); |



hide_titlesandhide_iconsproperties toTabBar&TabContainer#118358TabBarand side tab placement onTabContainer#116485This PR implements our 2nd most requested usability feature: editor inspector tabs.
The tabs come with a lot of configurability through the editor settings in the
interface/inspector/tabs/subcategory:use_inspector_tabstab_layouthorizontal_tab_styleandvertical_tab_style(split due to different layouts looking better with different modes)vertical_tab_sidetab_property_modemerge_abstract_class_tabsNote: All property names subject to change
Here are some snippets:
Horizontal with both text and icon (default):

Vertical with icon only (vertical default):

Tabbed mode:
Recording.2026-04-09.162524.mp4
Jump Scroll mode:
Recording.2026-04-09.162555.mp4
AI Disclaimer: I used AI to help me figure some of the implementation. Verified it all.