Godot Version
4.6.3
Question
This is embarassing, because clearly it must be easy. I know how to create a theme, and I know how to set it as default theme for my project.
But how do I change settings for more than one type of Node? Say I want all of my GUI elements to have red text (for the sake of this exercise, not because I think it is a good idea). The only way I see to change the text colour in the theme editor is to click the + (“add type”), select, for instance, “Label”, and then the font colour override will become available. But now it will only override nodes that inherit from Label, while all my buttons are unaffected. In the type selector, none of the common ancestors of Label and Button (Control, CanvasItem, Node, Object) are available.
Do I have to manually add every available type of Control? Do I then have to manually set each of those to the font colour I want? That cannot be right.
I have read that, obviously. But it only mentions how to override certain types of controls, not how to set a default for everything.
From the exact same documentation page:
You didn’t mention that, so not obviously
That isn’t possible, that’s explained there, you need to set it up individually for the types
But that’s not too complex as there aren’t that many it’s not complicated to do
Yes, quoting from your screenshot: “This allows you to configure the default look of every Godot control with a single theme resource”
It then does not explain how to do that except by adding each Control type separately.
“there aren’t that many” is not really a good argument when that means every time I want to change a setting I have to change it in ten places instead of one. Is that really the intended way of setting up GUI skinning?
If you don’t want to set each control individually why not just clone the editor theme, and then just modify the theme for the controls you wish to be different. Or you can just do a selective import of the control themes you like from the editor theme, and then add you custom ones.