Skip to content

Split inspector property sections into tabs#118359

Open
StarryWorm wants to merge 3 commits intogodotengine:masterfrom
StarryWorm:inspector-property-tabs
Open

Split inspector property sections into tabs#118359
StarryWorm wants to merge 3 commits intogodotengine:masterfrom
StarryWorm:inspector-property-tabs

Conversation

@StarryWorm
Copy link
Copy Markdown
Contributor

@StarryWorm StarryWorm commented Apr 9, 2026

This 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:

  • Can be disabled via use_inspector_tabs
  • Can be switched between horizontal and vertical via tab_layout
  • Can show text only/icon only/both via horizontal_tab_style and vertical_tab_style (split due to different layouts looking better with different modes)
  • In vertical layout, they can be on the right/left of the inspector dock tab (static), or on the inside/outside of the inspector dock tab (dynamic) via vertical_tab_side
  • They can be used either as a list and clicking on the tabs scrolls automatically, or used as fully separate tabs via tab_property_mode
  • Abstract classes can be merged into the first non-abstract class that inherits them via merge_abstract_class_tabs

Note: All property names subject to change

Here are some snippets:

Horizontal with both text and icon (default):
image

Vertical with icon only (vertical default):
image

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.

@YeldhamDev
Copy link
Copy Markdown
Member

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?

@ajreckof
Copy link
Copy Markdown
Member

ajreckof commented Apr 9, 2026

This is just a first look I haven't looked in depth on implmentation but the two things that comes to mind immediatly are :

  • Jump Scroll Mode should be the default as it is the closest to the previous workflow while still alowing for the new shortcut.
  • Abstract classes can be merged into the first non-abstract class that inherits them via merge_abstract_class_tabs

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

@StarryWorm
Copy link
Copy Markdown
Contributor Author

StarryWorm commented Apr 9, 2026

Here's some snippets with the default modern theme
image
image

As far as making it the default, the reception on both the proposals and Reddit (the proposal was not linked on Reddit, just the result) indicates that people seem to be quite annoyed with the scrolling, and would greatly prefer this. I personally strongly agree. When you use inheritance, it can be quite a pain finding a random property in the current inspector.

If that's not convincing enough, maybe the jump scroll mode could be the default instead? It's pretty much the same as the current inspector, but with "shortcut" tabs at the top.

Edit: ajreckof's comment confirms it: scroll jump it is. Sent at the same time so I couldn't see it when I typed this out.

@StarryWorm
Copy link
Copy Markdown
Contributor Author

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

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.

@YeldhamDev
Copy link
Copy Markdown
Member

YeldhamDev commented Apr 9, 2026

Here's some snippets with the default modern theme

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.

@pippenpaddleopsicopolis
Copy link
Copy Markdown
Contributor

pippenpaddleopsicopolis commented Apr 9, 2026

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.

@StarryWorm
Copy link
Copy Markdown
Contributor Author

StarryWorm commented Apr 9, 2026

They aren't redundant when the abstract tab merging is active, and you have an abstract class (niche).
The primary reason I left them is for "parity" (it would look slightly weird without a header in a specific setting configuration only) and accessibility (if you hide text in tabbar settings).

I think the cost of removing them in terms of clarity is greater than the value derived from the deduplication.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add an option to split the inspector properties into tabs

5 participants