Themes


Theme and white-label Unity UIs with typed values, selectable-state fan-out bindings, and runtime profile switching for uGUI, TextMeshPro, and custom components


by derHugo's Assets


Price History +

Most UI systems start clean and quickly drift into scattered color fields, duplicated style prefabs, and fragile manual updates whenever branding or visual direction changes. Themes addresses that drift by giving you one structured source of truth for themed values and a practical binding workflow to apply them.


Instead of hard-coding values across many components, you define typed entries once in a ThemeDatabase, configure profiles (for example Light/Dark themes or Client A/Client B branded variants), and let bindings resolve and apply the active values automatically. This keeps iteration tight for designers and engineers, and it reduces the risk of accidental visual inconsistencies as the project grows.


One button/toggle/selectable can act as a state source for any number of bindings, so you are not limited to a single built-in transition effect. You can drive multiple graphics and arbitrary components per state (`Normal`, `Highlighted`, `Pressed`, `Selected`, `Disabled`) from one interaction source.


The package is built for real production workflows:


- project-wide central database

- edit-mode and runtime value application

- selectable-state aware bindings with fan-out composition

- helper tooling to replace existing selectables with bindable variants

- full Database JSON import/export for backups, migrations, and review

- Runtime JSON import for Themes

- Theme any serializable type


Highly Extendable

Supports any serializable type. Built-in Bindings mainly focus on uGUI/TMP targets, but the architecture is intentionally open: you can implement custom bindings for any target component type and grow this into a broader UI/system branding layer across your entire app.