With the recent release of the new Topbar design and In-Game Menu, I went digging through the source code of the said interfaces (also the players list) and discovered that they have the ability to use a Light Theme variation.
I was able to force the interfaces to use the LuaApp’s light theme configuration by modifying the core scripts.
It would be nice if the final release of the In-Game Menu would have the option to switch between Dark and Light Theme (even though the vast majority of players wouldn’t care or would prefer dark).
I think this could be an option eventually but quite a lot of work needs to be done before adding support for this is really possible.
If we theme the CoreGui like this it should work consistently for all GUIs, not just the most recently built. It would look strange if opening some of the GUIs resulted in a completely different theme.
For all future GUIs or refreshes of the current GUIs I expect we will continue to make them mostly compatible with different themes. However even these GUIs need a polish pass to make sure the Light theme works as expected. We also need to add different versions for some images depending on the theme.
Then we would need to theme the following:
Loading screen
Emotes Menu
Backpack
Chat
Inspect and Purchase
The level of effort for some of these GUIs would be quite low (Emotes Menu, Inspect and Purchase) but for others such as the Chat and the Backpack the amount of work woule be quite high.
I think if Roblox is going to give us the choice on the website, they need to reflect those choices in the client too. We have an API to get Studio theme, now we need one for user preferences on the website.
Roblox can catch up in its own time, much like it is with the Studio widgets being converted to Lua (as well as the app), but developers could start supporting it in their games now.
Players are unlikely to change their theme while they’re playing a game, so the value of the theme can be cached after the player opens a game.