Namespace Serenity.Ui.Installation.Editor.Settings.Builder
Classes
CreateThemeWindow
Stepped wizard (Tools ▸ Serenity ▸ UI ▸ Theme Builder) that generates a complete UI theme — every component prefab plus the UnityUiThemeDefinition asset — from scratch, so a project that doesn't have the sample themes imported (e.g. an Asset Store consumer) can still get a working theme.
Mirrors CreateGameSettingWindow: an enum step list, a clickable breadcrumb header, per-step
validation gating the footer button, plus a persistent schematic preview strip. The window only collects
input; all asset mutation happens in Serenity.Ui.Installation.Editor.Settings.Builder.ThemeCreator.
LeaderboardThemeRetrofitter
Adds a generated Leaderboard.prefab to an already-shipped theme that predates the leaderboard
chrome slot, wiring it into UnityUiThemeComponents.LeaderboardTemplate. Reuses
Serenity.Ui.Installation.Editor.Settings.Builder.ChromePrefabBuilders.BuildLeaderboard(Serenity.Ui.Installation.Editor.Settings.Builder.GenerationContext) against a minimal Serenity.Ui.Installation.Editor.Settings.Builder.GenerationContext
reconstructed from the theme's own already-generated Background/Title/Label prefabs -- it does not
regenerate the whole theme, only the one missing prefab.
LeaderboardThemeRetrofitter.RetrofitReport
Result of a batch retrofit run: which themes changed, which were already up to date, and any failures.
SerenityThemeBuilderReport
Result of CreateFromJson(string), mirroring Serenity.Ui.Installation.Editor.Settings.Builder.ThemeCreator.Result for headless/agent consumption: what was created, what was skipped, and why it failed if it did.
SerenityThemeBuilderRunner
Headless / JSON entry points for Serenity.Ui.Installation.Editor.Settings.Builder.ThemeCreator, mirroring
SerenityProjectValidationRunner so CI or an AI agent can generate a complete theme without the
CreateThemeWindow wizard — either from the command line (CreateFromCommandLine())
or, with the editor already open, by calling CreateFromJson(string) directly (e.g. via UnityMCP
reflection). Hosted in this assembly because it needs Serenity.Ui.Installation.Editor.Settings.Builder.ThemeCreator's internal Input
DTO and Serenity.Ui.Installation.Editor.Settings.Builder.ThemeSpriteSlot.