A simple but extensible Theme system for Unity's default GUI. Created mostly for myself to easily integrate a theme system into my projects.
Features
- Custom palettes for Colors, Sprites, Selectables(Button, InputField etc.) and TextMeshPro.
- Localised themes. Instead of the entire project using a single theme, adding a GUI Theme component to any UI GameObject makes all children adhere to that Theme.
- Components for Images, TextMeshPro, Buttons/any Selectable to easily assign Palettes to GUI.
- Components stay true to their settings even when used as prefabs, or when changing parents.
- Extensible architecture to easily add your own Palettes.
Installation
Make sure you have Git installed on your system. A git GUI such as GitHub Desktop will do as well. We won't actually use Git, but it's still required for the coming steps to work.
- (Optional) Import TextMeshPro's essential resources from Window -> TextMeshPro -> Import TMP Essential Resources. Only helpful if you want to use Text Palettes, not required either way.
- Open the Package Manager from Window -> Package Manager
- Click the "+" icon on the top left and select Add package from git URL...
- Paste https://github.com/reshyl/gui-themes.git into the URL field and press enter
Quickstart
Nothing as of yet.
Support
I don't expect anyone to use this besides me but most of the code is still documented. If you do need any help, feel free to contact me on Twitter.
Third-Party Notices
No third-party tools are used, or are required to run this package (Besides TextMeshPro).