logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Namespace Serenity.Localization.Installation.Settings.Editor

    Classes

    LocalizationRecipeImporter

    Generates Unity Localization String Table Collections from the recipe localization section: ensures the requested locales exist, creates or finds the collection, and upserts each key's per-locale text. Lives in the localization assembly (which references the recipe assembly) and is discovered by reflection, so the core recipe engine never depends on the Unity Localization package.

    SerenityHubStatus

    Read-only status aggregator for the Serenity Hub. Produces three rows — required Unity packages, installation wiring, and overall project validation health — by reusing the same checks the standalone package installer and the project validators already perform. Never mutates project state; every row that needs a fix carries a deep-link menu path instead of fixing anything itself.

    SerenityHubStatusRow

    One dumb status row for the Hub: a state, a human-readable message, and an optional deep-link menu path the Hub can execute to let the user act on it. Carries no logic of its own.

    SerenityHubWindow

    The Serenity Hub — the single "start here" front door for the package. A read-only status dashboard plus a categorized tool launcher. Solves the discoverability problem of 50+ scattered Tools ▸ Serenity menu entries by giving every new user one place to land.

    The Hub never fixes anything itself: every status row and every launcher button opens a real tool via UnityEditor.EditorApplication.ExecuteMenuItem(System.String) or a real asset. Hosted alongside SerenityProjectValidationRunner and SerenityValidateEverythingWindow for the same reason they live here — this assembly already references the Global validator engines and owns the localization one, so hosting the Hub in Global would create a circular assembly reference.

    SerenityLocalizationKeyValidator

    Validates the translation keys designers type into Serenity assets (any field with its IsTranslating<Field> toggle on) against the project's Unity Localization string tables. The GUI-free engine behind SerenityLocalizationKeyValidatorWindow, also driven headlessly by the project validation runner.

    SerenityLocalizationKeyValidatorWindow

    Editor window that validates the translation keys designers type into Serenity assets against the project's Unity Localization string tables.
    Anywhere a Serenity asset has an IsTranslating* toggle turned on (menu/modal titles, option labels, modal text, game-setting values…), the paired key is checked: a key that exists in no string table is reported as missing (it would silently fall back to the raw key at runtime), and a translating field left blank is reported as a warning.

    SerenityProjectValidationRunner

    Runs Serenity's project-integrity validators (Health Check, Missing References, Localization Keys, Addressables Tagging, Audio Registration) and reports the combined result — interactively (a menu item that writes JSON) or headlessly (ValidateFromCommandLine()), so CI or an AI agent can confirm a project is correctly wired and self-correct. Hosted here because this assembly already references the Global validator engines and owns the localization one (Global cannot reference Localization without a cycle).

    SerenityValidateEverythingWindow

    One aggregated dashboard over every Serenity project validator (RunAll(string)): Health Check, Missing References, Localization Keys, Addressables Tagging, and Audio Registration. Issues are grouped per validator with a Ping button when an asset path resolves. Addressables and Audio Registration findings that have a mechanical fix also get a per-row "Fix" button and a per-group "Fix all safe" button; every fix previews exactly which asset(s) will change via a confirmation dialog, applies the fix through the validator's own UnityEditor.AssetDatabase / UnityEditor.Undo-backed API, then re-scans automatically. Health Check, Missing References, and Localization Keys findings are report-only: they require a human decision, so their rows only offer Ping. This window is intentionally dumb — it contains no validation or fixing logic of its own, only calls into the runner and the two fixable validators. Hosted alongside SerenityProjectValidationRunner (rather than in the Global validator-engine folder) for the same reason the runner itself lives here: this assembly already references the Global validator engines and owns the localization one, so hosting the aggregated view here avoids a circular assembly reference back into Global.

    UnityLocalizationSettingsEditor

    Custom Unity Editor for UnityLocalizationSettings that provides interface for configuring language keys and localization tables.
    Integrates with Unity's localization system to display available tables and game settings for selection.

    Enums

    SerenityHubStatusState

    State of a single SerenityHubStatusRow.

    In this article
    © 2026 Serenity. All Rights Reserved