Themes & Presets¶
A theme is 45 values: 36 colours, 4 font sizes, 4 spacing tokens and one animation speed.
Where the active theme lives¶
In EditorPrefs, under Skint_CustomTheme_Dark or Skint_CustomTheme_Light depending on Unity's editor skin.
EditorPrefs is global, not per project
EditorPrefs belongs to your Unity installation, not to a project. The active theme is shared across every project you open in the same Unity version, so changing it in one changes it everywhere.
That is usually what people want from an editor theme — but if you need a per-project look, save it as a preset instead. Presets are files inside the package and travel with the project.
SKINT switches between the dark and light theme automatically when you change Unity's editor skin, and keeps the two stored separately.
Where presets live¶
As JSON, one file per preset:
Assets/Skint/Presets/UIThemes/CustomDark/ 6 dark presets
Assets/Skint/Presets/UIThemes/CustomLight/ 4 light presets
Assets/Skint/Presets/UIThemes/.Trash/ deleted presets, restorable
Which folder is active follows the editor skin, so the preset dropdown shows dark presets under the dark skin and light presets under light.
Preset names may contain spaces — nine of the ten shipped presets do.
Saving, deleting and undo¶
Saving writes the current theme to a named file. If a preset of that name already exists you are asked to confirm, because an overwrite is not recoverable.
Deleting moves the file to .Trash and offers an undo that survives a recompile — the undo target is kept in EditorPrefs rather than in memory, so a domain reload does not lose it.
Undo is single level. Deleting a second preset makes the first one no longer restorable from the UI, and SKINT tells you so when it happens rather than letting it pass silently. The file is still in .Trash and can be moved back by hand.
Every action reports its outcome in a status line under the buttons.
The shipped presets¶
Six dark: Pure Flat Noir, Dark, Arcade Electric, Moody Violet, Neo Cool Dark, Rab Mode.
Four light: Retro Mac, Clean Cut Light, Sunbleached Studio, Pastel Piss.
Two of them are deliberately horrible
Pastel Piss and Rab Mode exist to demonstrate extremes — they show what the theming system will let you do, not what you should do. They are excluded by name from the contrast test for that reason. The other eight all meet WCAG AA.
Every preset carries every field¶
A preset file contains all 45 theme values, and that is enforced by a test rather than left to habit. A field no preset mentions is a field that loading a preset cannot change — it would silently inherit whatever your current theme had, so a preset would not fully describe a look.
This also means a preset written by an older version of SKINT still loads correctly: fields added since are supplied from their defaults rather than read as zero.
Next¶
- Spacing & Density — the four spacing tokens
- Theming from Code — reading and writing themes programmatically