Provide theme
inheritance information in Godot's UI control properties.
#13017
Replies: 2 comments 10 replies
-
Those are overrides though, that override the ones defined in the theme, regardless of there being a custom theme those variables all have a theme value applied to them, be it from the default theme or a custom one, or using the theme set on the node itself (or an ancestor) |
Beta Was this translation helpful? Give feedback.
-
What I would probably do is make the Theme Overrides section display the inherited theme values when the override checkbox is unchecked. For instance, instead of seeing a default separation of There might be a technical or design reason why it's not done this way though. In this case, we could display the theme value in the tooltip instead. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Problem
There is currently very little information given to a Godot developer regarding theme inheritance.
This leads to confusion when a section of Godot's UI suggests there is no theme applied to an element, when there may be.
For example, if a developer applies a custom 'global' theme (screenshot)...
..but then looks at UI properties, it gives the impression there is no theme properties applied, when there could well be.
(Example of

HBoxContainer
node):This can result in confusion and frustration as properties could be being applied - and may need to be overridden - but there is no information that states that this is the case.
Real world example
This can make things extra difficult for new users in particular - see this Bluesky thread.
Improvement suggestion
Where a UI Node is inheriting properties from a theme (always?), there should be a small, unobtrusive visual notification to the developer.
I.e. at the top of a Theme section, under the header:
'This node inherits properties from [theme.tres] theme'
(or)'This node inherits properties from default theme'
This should give the developer an indication that the visual properties they are seeing are defined elsewhere and may need to be overridden - if overriding is the only option to change the value.
Beta Was this translation helpful? Give feedback.
All reactions