Quick Palette Pro
Name your colours, bind your scene to the names, and re-skin everything by swapping one asset. With real WCAG contrast and a colour-blindness preview built in.
by Krykftn | Advanced Editor Tools & Systems
Price History +
Quick Palette Pro turns your colours into named roles, points your scene at the names, and lets you change your mind about all of it at once.
Then it answers the two questions you cannot answer by looking at your own screen: is there enough contrast, and does any of this still work for a player who is colour blind.
HOW IT WORKS
A Palette is a list of role and colour. Roles are names: Background, Primary, Danger, Safe.
A Palette Binding on an object says "I am the Danger colour". It paints a renderer, a light, a camera background or a uGUI graphic.
Palette.Apply(somePalette) repaints everything bound to a role, in one call, in the editor as well as at runtime.
Because bindings match by name, two palettes covering the same roles are interchangeable. That is the difference between a colour scheme and a pile of colours: you can swap the whole look without touching a single object.
THE CONTRAST MATRIX
Every pair of roles in your palette, as a real WCAG 2.1 contrast ratio from 1 to 21.
Green clears AAA. Olive clears AA. Amber clears AA for large text only. Red fails.
These are the published numbers, computed from the published formula. Black on white comes out at exactly 21.00. White on #767676 passes AA and white on #777777 does not, which is one point of grey between passing and failing an accessibility audit.
A "Seen as" dropdown recomputes the whole grid through a colour-blindness simulation, so "does my danger colour still read for a green-weak player" becomes a number instead of a guess.
COLOUR VISION
Your palette drawn four times: as most people see it, and with protanopia, deuteranopia and tritanopia.
Deuteranopia alone is about six percent of men. The window lists the pairs that collapse - two roles that clearly differ to a typical viewer and become the same colour to somebody else. A red Danger and a green Safe is the classic one, and no amount of looking at your own screen will ever show it to you.
The simulation is the Brettel and Vienot approximation applied in linear light. Applying it to sRGB values directly, which is the common shortcut, shifts the result enough to pass palettes a real viewer cannot tell apart.
BUILD FROM ONE COLOUR
Pick a seed and a harmony: analogous, complementary, split complementary, triadic, tetradic or monochromatic. The window says what each one is for, previews the result and adds it to your palette when you want it.
WHAT IS IN THE BOX
Palette assets with named roles.
Palette Binding for renderers, lights, camera backgrounds and uGUI graphics.
Palette Switcher: the palettes a scene can wear, switchable in edit mode.
The palette window: swatches, harmony builder, contrast matrix, colour-vision preview.
PaletteMath: plain C# luminance, WCAG contrast, harmonies and colour-blindness, callable from your own tools and tests.
A demo scene with three palettes over the same six roles.
Full source, commented, with a README.
PERFORMANCE
Renderer colours are written through a MaterialPropertyBlock. A hundred objects on the same role still share one material, nothing is instanced, and applying a palette allocates nothing per object.
NO DEPENDENCIES
No packages, no renderer feature, no shader to install. Built-in, URP and HDRP: bindings write both _Color and _BaseColor. The uGUI path is reached by reflection, so a project without uGUI installed still compiles.
Support: koraykaftanoglu@gmail.com