logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class SystemConfigurationSettingsCreator

    Generates (or updates) the project-wide UnitySystemConfigurationSettings asset from a single description. Mirrors Serenity.GameCamera.Infrastructure.Editor.Builder.GameCameraSettingsCreator: static class, Input/Result DTOs, Validate, Create with created-paths rollback on failure — resolved and folder-provisioned through the shared SettingsAssetAuthoring engine rather than a private copy of its logic.

    A second UnitySystemConfigurationSettings asset does not break anything at runtime — the installer's UnityAssetUtils.LoadAllFromAnyBlocking call loads every asset tagged module:system-configuration and uses the first one found — so ambiguity here is surfaced as a warning, never a hard error, exactly like GameCamera's settings creator.

    CreateSystemConfigurationSettingsWindow only collects input and renders results; every asset mutation lives here.
    Inheritance
    object
    SystemConfigurationSettingsCreator
    Inherited Members
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    Namespace: Serenity.SystemConfiguration.Infrastructure.Editor.Builder
    Assembly: Serenity.UnitySystemConfiguration.Infrastructure.Editor.dll
    Syntax
    public static class SystemConfigurationSettingsCreator

    Methods

    Create(Input)

    Validates the request, then resolves-or-creates the settings asset and applies every field to it. On any failure every mutation is rolled back: created paths are deleted and, when an already-existing asset was being edited, its pre-call field values are restored. Without a labeled asset anywhere in the project, Serenity.SystemConfiguration.Installation.Installers.UnitySystemConfigurationInstaller throws at boot — this wizard exists specifically to prevent that.

    Declaration
    public static SystemConfigurationSettingsCreator.Result Create(SystemConfigurationSettingsCreator.Input input)
    Parameters
    Type Name Description
    SystemConfigurationSettingsCreator.Input input
    Returns
    Type Description
    SystemConfigurationSettingsCreator.Result

    Validate(Input)

    Validates the request: a non-empty Id, either a resolvable existing asset or a well-formed destination folder for a fresh one, the same three field predicates UnitySystemConfigurationSettingsEditor warns/errors about on its live inspector (polling enabled with a non-positive interval; a primary display index outside the currently connected display count; disk persistence enabled with an empty JSON file name), and every authored Sync Map row's target key against the project's UnityGameSettingsDefinition Ids (a warning when unresolved — the definition may be authored later — never a hard error).

    Declaration
    public static SerenityCreationValidationResult Validate(SystemConfigurationSettingsCreator.Input input)
    Parameters
    Type Name Description
    SystemConfigurationSettingsCreator.Input input
    Returns
    Type Description
    SerenityCreationValidationResult
    In this article
    © 2026 Serenity. All Rights Reserved