About ColoRef (Legacy)
- Tools, Systems & Learning > Development Tools & Automation
ColoRef keeps the colors and values your project shares in one (or multiple) palette and links Inspector fields to them. Change Brand Orange once, and every light, material, UI image, particle system and text linked to it updates, in Edit Mode and in your build.
You don't add scripts to your objects or rewrite your components. Hover a field in the Inspector, click the palette button that appears, and pick an entry. It works on Unity's own components and on your scripts alike. By default it works only with Inspector fields, but with an option switch, it can work with any field in any window in the project.
Every palette can be treated as a configuration file and used for multiple objects. For example, a palette can be used to store vehicle stats, and each variation carries a different set of stats, which are then easily applied to any vehicle individually or in groups, with creation and application done in a matter of minutes, and future iterations cost nothing, since the values in the vehicles are already linked.
How it works
1. Create a palette in the Palette Manager (Window > ColoRef > Palette Manager).
2. Hover a field, click its palette button and link it to an entry.
3. Change a value or switch the variation, and every linked field follows.
Fourteen kinds of entries
Colors (HDR included), floats, ints, doubles, bools, strings, gradients, animation curves, textures, materials, sprites, fonts, text alignments and font styles.
Variations for themes
Day and Night, Light and Dark, Team Red and Team Blue: a palette holds a full set of values for each variation. Switch in the Palette Manager without entering Play Mode, with one line of code, or with the Palette Variation Switcher component, which fades between variations and can limit a switch to one scene, one hierarchy or one object.
Link, pin or assign
Link a field so it follows the palette, pin it to one variation so it ignores theme changes, or assign the value once. Hover an entry to preview it on the field before you choose. Works on several selected objects at once, with Undo.
Materials and texture regions
Link shader properties on a material asset, or on one renderer only, without touching the material. Split a texture into regions by color, such as skin, hair and trim, and give each region a palette color. The texture is recolored on the GPU, and the texture file is never changed.
uGUI, TextMeshPro and UI Toolkit
Link colors, fonts, text, alignments and font styles on uGUI and TextMeshPro components. In UI Builder, link style properties and attributes through palette bindings stored in your UXML.
Formats and expressions
Show an entry as text, such as Speed: {value:0.0} km/h, or do math on a number before it's written, such as value * 2. Expressions can read time for simple animated values in Play Mode.
Find every link
Each entry shows how many fields use it. The Links window lists them across your open scenes, materials and UXML documents, and the Scene and Game view highlights mark linked objects and point out the ones still unlinked.
Palette tools
A harmony generator with six color schemes, gradient and curve presets, search by color description ("warm", "dark"), and import from images, Adobe swatches (.ase, .aco, .act), GIMP palettes, Figma or Sketch JSON, CSS or SCSS variables, CSV and hex lists.
Scripting API
Read values, switch themes, react to changes and create links from code, all in the Postica.ColoRef namespace.
What's included
• Two sample scenes: Chromatic Studio, an interactive design gallery with four art directions, and The Slow Room, a reading nook with a Day/Night switch.
• Full C# source code.
Good to know
• The Links window counts the scenes you have open, not unopened scenes or prefabs.
• Links stored in a material follow the palette in players through preloaded assets. Materials loaded from Addressables or AssetBundles keep their saved values instead.
You don't add scripts to your objects or rewrite your components. Hover a field in the Inspector, click the palette button that appears, and pick an entry. It works on Unity's own components and on your scripts alike. By default it works only with Inspector fields, but with an option switch, it can work with any field in any window in the project.
Every palette can be treated as a configuration file and used for multiple objects. For example, a palette can be used to store vehicle stats, and each variation carries a different set of stats, which are then easily applied to any vehicle individually or in groups, with creation and application done in a matter of minutes, and future iterations cost nothing, since the values in the vehicles are already linked.
How it works
1. Create a palette in the Palette Manager (Window > ColoRef > Palette Manager).
2. Hover a field, click its palette button and link it to an entry.
3. Change a value or switch the variation, and every linked field follows.
Fourteen kinds of entries
Colors (HDR included), floats, ints, doubles, bools, strings, gradients, animation curves, textures, materials, sprites, fonts, text alignments and font styles.
Variations for themes
Day and Night, Light and Dark, Team Red and Team Blue: a palette holds a full set of values for each variation. Switch in the Palette Manager without entering Play Mode, with one line of code, or with the Palette Variation Switcher component, which fades between variations and can limit a switch to one scene, one hierarchy or one object.
Link, pin or assign
Link a field so it follows the palette, pin it to one variation so it ignores theme changes, or assign the value once. Hover an entry to preview it on the field before you choose. Works on several selected objects at once, with Undo.
Materials and texture regions
Link shader properties on a material asset, or on one renderer only, without touching the material. Split a texture into regions by color, such as skin, hair and trim, and give each region a palette color. The texture is recolored on the GPU, and the texture file is never changed.
uGUI, TextMeshPro and UI Toolkit
Link colors, fonts, text, alignments and font styles on uGUI and TextMeshPro components. In UI Builder, link style properties and attributes through palette bindings stored in your UXML.
Formats and expressions
Show an entry as text, such as Speed: {value:0.0} km/h, or do math on a number before it's written, such as value * 2. Expressions can read time for simple animated values in Play Mode.
Find every link
Each entry shows how many fields use it. The Links window lists them across your open scenes, materials and UXML documents, and the Scene and Game view highlights mark linked objects and point out the ones still unlinked.
Palette tools
A harmony generator with six color schemes, gradient and curve presets, search by color description ("warm", "dark"), and import from images, Adobe swatches (.ase, .aco, .act), GIMP palettes, Figma or Sketch JSON, CSS or SCSS variables, CSV and hex lists.
Scripting API
Read values, switch themes, react to changes and create links from code, all in the Postica.ColoRef namespace.
What's included
• Two sample scenes: Chromatic Studio, an interactive design gallery with four art directions, and The Slow Room, a reading nook with a Day/Night switch.
• Full C# source code.
Good to know
• The Links window counts the scenes you have open, not unopened scenes or prefabs.
• Links stored in a material follow the palette in players through preloaded assets. Materials loaded from Addressables or AssetBundles keep their saved values instead.