logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class GameProgressCreator

    Generates (or updates) the project-wide UnityGameProgressSettings asset, plus optionally its backend, from a single description. Mirrors Serenity.Leaderboard.Infrastructure.Editor.Builder.LeaderboardCreator: static class, Input/Result DTOs, Validate/ValidateIdentity, Create with created-paths rollback on failure — but simpler, since GameProgress has no per-item board list, view, or menu wiring; a single settings asset is the entire authoring surface. CreateGameProgressSettingsWindow only collects input and renders results; every asset mutation lives here.

    Inheritance
    object
    GameProgressCreator
    Inherited Members
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    Namespace: Serenity.GameProgress.Infrastructure.Editor.Builder
    Assembly: Serenity.UnityGameProgress.Infrastructure.Editor.dll
    Syntax
    public static class GameProgressCreator

    Fields

    BackendAssetNameFallback

    Fallback asset name for the backend when BackendAssetName sanitizes to nothing usable.

    Declaration
    public const string BackendAssetNameFallback = "GameProgressBackend"
    Field Value
    Type Description
    string

    DefaultLocalFileDirectoryName

    Default LocalFile backend directory name, also used by CreateGameProgressSettingsWindow's Backend step.

    Declaration
    public const string DefaultLocalFileDirectoryName = "game-progress"
    Field Value
    Type Description
    string

    DefaultOutputFolder

    Folder a brand-new settings asset is created under when the caller names none.

    Declaration
    public const string DefaultOutputFolder = "Assets/Game/Media/GameProgress"
    Field Value
    Type Description
    string

    DefaultSqliteDatabaseFileName

    Default Sqlite backend database file name, also used by CreateGameProgressSettingsWindow's Backend step.

    Declaration
    public const string DefaultSqliteDatabaseFileName = "game_progress.db"
    Field Value
    Type Description
    string

    SettingsAssetFileNameFallback

    Fallback file name for the settings asset when AssetName sanitizes to nothing usable — passed to FileNameSafe(string, string) alongside CreateGameProgressSettingsWindow's own target-section path preview, so both compute the exact same planned file name.

    Declaration
    public const string SettingsAssetFileNameFallback = "GameProgressSettings"
    Field Value
    Type Description
    string

    Methods

    Create(Input)

    Validates the request, then resolves/creates the settings asset and, optionally, creates the backend. On any failure every mutation is rolled back so the project is left untouched.

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

    ResolveSettingsContext(string)

    Thin wrapper over the shared ResolveSettingsContext<TSettings>(string, string), exposed so CreateGameProgressSettingsWindow can auto-detect the project-wide singleton for its "Edit existing" field.

    Declaration
    public static SettingsAssetAuthoring.SettingsResolution<UnityGameProgressSettings> ResolveSettingsContext(string explicitSettingsAssetPath = "")
    Parameters
    Type Name Description
    string explicitSettingsAssetPath
    Returns
    Type Description
    SettingsResolution<UnityGameProgressSettings>

    Validate(Input)

    Full validation, re-checked at creation time so Create(Input) is safe to call independently of the window's live validation.

    Declaration
    public static SerenityCreationValidationResult Validate(GameProgressCreator.Input input)
    Parameters
    Type Name Description
    GameProgressCreator.Input input
    Returns
    Type Description
    SerenityCreationValidationResult

    ValidateIdentity(Input)

    Asset-name-only validation, usable before a folder or backend choice has been made.

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