View on Asset Store (opens in new tab)
Package details
- Latest version
- 1.2.2
- Last updated
- First released
- Unity version
- 6000.3.25 or later
- Package size
- 12.1 MB
- Files
- 172
- Favorites
- 1
- Views in the past week
- 6
Price tracking
- Last checked
- Tracked since
- Lowest recorded
- $19.99 on
Keywords
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
Affiliate link · Purchases support this site
Price history
Last 6 months
USDAsset preview
1 / 3
Themes screenshot 1
About this asset
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.
From the publisher's Asset Store listing.
Technical details
- Unity version: 2022.3 or newer
- Required dependencies:
- com.unity.nuget.newtonsoft-json
- Documentation under https://github.com/der-hugo/ThemesAPI and embedded in the package
- Sample in an optional imported unitypackage (requires InputSystem and URP)
The package is built around a single active ThemeDatabase asset per project. It stores value definitions, constant value implementations shared across all themes, per-theme values, and the currently active theme.
Built-in bindable wrappers are included for common UnityEngine.UI.Selectables:
- BindableButton
- BindableToggle
- BindableSlider
- BindableScrollbar
- BindableDropdown
- BindableInputField
- BindableTMPDropdown
- BindableTMPInputField
A tool exists to simply replace existing normal components by the respective bindable ones without loosing references.
Built-in bindings cover some common interface targets:
- BindColorToGraphic
- BindColorToRenderer
- BindSpriteToImage
- BindStringToTMPText
- BindFloatToTMPTextFontSize
- BindBoolToGameObjectActive
- BindDepthToTransform
- [if Localization is installed] BindLocalizedStringToTextMeshPro
- and many more.
The user can however extend the system with any serializable custom value types and target bindings.
Compatibility
| Unity version | Built-in | URP | HDRP | Custom |
|---|---|---|---|---|
| 6000.3.25f1 | Compatible | Compatible | Compatible | Compatible |
The inclued sample is based on URP but principles and the core Theming are pipeline agnostic and can be extended and adapted to any.
As listed on the Asset Store.