Hello. I am Zach777. A dev for Moonwards and Godot enthusiast.
I wanted to share some insights about Godot UI resource and scene handling that I have implemented in Moonwards. There are also a couple useful tricks you can at the end of the post that will let you easily change the font used or the font's size while in game. But first I wanted to talk about the method of UI theme and resource handling we are using at Moonwards and it's benefits.
It is important for open source projects to have clear planning in how everything is set up. Newcomers should be able to look at the section of the project that they are interested in and understand exactly what it is doing and what it relies on. People working on UI in Godot should expect no less.
Unfortunately Moonwards' UI setup did not live up to that at first.
Whenever a UI wanted to make a new element to override something in the main theme we would copy the main theme and change the one element. This method of theme handling grew natu