logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Namespace Serenity.Achievements.Infrastructure.Editor.Builder

    Classes

    AchievementAuthoringPaths

    Where each asset an achievements creation run authors ends up, derived from one AchievementSettingsCreator.Input.

    AchievementDefinitionCreator

    Writes, copies, edits and removes one authored achievement — the four things the Achievements Studio's New, Duplicate, Delete and detail pane do, with every UnityEditor.AssetDatabase call on this side of the seam so the window stays pure presentation and the whole flow is testable without IMGUI.

    AchievementDefinitionCreator.DeleteResult

    Outcome of a Delete(UnityAchievementDefinition) call.

    AchievementDefinitionCreator.Input

    Everything one authored achievement is made of, plus where it lands.

    AchievementDefinitionCreator.Result

    Outcome of a Create(Input), Duplicate(UnityAchievementDefinition, string, string, bool) or Update(UnityAchievementDefinition, Input) call.

    AchievementDefinitionValidator

    Answers whether an AchievementDefinitionCreator.Input can be written, and says why not when it cannot. Reached through Validate(Input) and ValidateIdentity(string, string) — this type is where the rules live, those are the API every window and test calls.

    AchievementModuleWiring

    The two steps that connect an authored achievements configuration to the rest of the project: giving every theme an achievements panel, and making the module install itself at boot.

    AchievementModuleWiring.InstallTaskOutcome

    What wiring the boot task ended up doing.

    AchievementModuleWiring.ThemeRetrofitSummary

    What a batch retrofit changed, flattened off AchievementsThemeRetrofitter.RetrofitReport.

    AchievementOptionsAuthoring

    How the module behaves once it is installed: who a player is, what an unlock does besides being recorded, and how hard the module tries to reach a storefront.

    AchievementPlatformAssetAuthoring

    Validates and writes the UnityAchievementPlatformDefinition assets a creation run enables. Split out of AchievementSettingsCreator because it answers a different question: the creator decides what the module's configuration is, this decides what one storefront needs to be reachable.

    AchievementPlatformFields

    The per-storefront values a creation run carries, one small group per kind.

    AchievementSettingsCreator

    Generates (or updates) a project's achievements configuration from a single description: the UnityAchievementSettings asset, its structured backend, one platform definition per storefront the project ships on, and optionally the UnityAchievementsViewDefinition that lists the achievements on screen. Mirrors Serenity.GameSave.Infrastructure.Editor.Builder.GameSaveCreator: static class, Input/Result DTOs, ValidateIdentity(Input)/Validate(Input), and a Create(Input, Action) whose every mutation is rolled back on failure.

    AchievementSettingsCreator.Input

    Everything needed to author a project's achievements configuration.

    AchievementSettingsCreator.Result

    Outcome of a Create(Input, Action) call.

    AchievementSettingsValidator

    Answers whether an AchievementSettingsCreator.Input can be written, and says why not when it cannot. Reached through Validate(Input) and ValidateIdentity(Input) — this type is where the rules live, those are the API every window and test calls.

    AchievementThemeRetrofitReport

    What CreateAchievementSettingsWindow's result panel says about the last run's theme retrofit, copied off AchievementModuleWiring.ThemeRetrofitSummary into plain serialized fields so the panel still reads it after a domain reload — the summary itself keeps its lists readonly, which Unity's serializer skips.

    AchievementViewAuthoring

    The optional on-screen listing: whether a UnityAchievementsViewDefinition is authored alongside the settings, and what it says.

    AchievementWizardOptionsStepGui

    The behaviour step of CreateAchievementSettingsWindow: the ten AchievementOptionsAuthoring values, grouped the way an author thinks about them — who a player is, what an unlock does, and how hard the module tries to reach a storefront.

    AchievementWizardPlatformSelection

    Which storefronts CreateAchievementSettingsWindow's platforms step has switched on, as one flag per AchievementPlatformKind plus the ordered list the creator wants.

    AchievementWizardPlatformStepGui

    The storefront step of CreateAchievementSettingsWindow: a row of chips that switch the storefronts on, and — under each switched-on chip — only that storefront's own fields.

    AchievementWizardResultPanelGui

    What CreateAchievementSettingsWindow's review step shows once a run has succeeded: the assets it put on disk, what the theme retrofit changed, and the two places a reader goes next.

    AchievementWizardSummary

    Turns an AchievementSettingsCreator.Input into the plain-English "this is what will happen" lines CreateAchievementSettingsWindow's review step prints.

    AchievementWizardViewDefaults

    Decides what CreateAchievementSettingsWindow's "Create view" toggle starts out as, given the view id the run would author and what is already on disk at that path.

    CreateAchievementSettingsWindow

    Step-by-step window for authoring a project's achievements configuration: the UnityAchievementSettings asset, its structured backend, one definition per storefront, the optional on-screen listing, and the boot task that installs the module. The stepped-wizard scaffolding — the header and breadcrumb, the body scroll, the footer and its error gate, and the select-and-ping a finished run ends with — comes from Serenity.Global.Infrastructure.Editor.SerenityStepWizardWindow`1; this window declares only its own step table and what the primary action does. AchievementSettingsCreator owns every rule and every asset mutation.

    EpicPlatformFields

    Everything Epic Online Services needs from an asset — see UnityEpicAchievementPlatformDefinition.

    PlayStationPlatformFields

    Everything PlayStation needs from an asset — see UnityPlayStationAchievementPlatformDefinition.

    SteamPlatformFields

    Everything Steam needs from an asset — see UnitySteamAchievementPlatformDefinition.

    XboxPlatformFields

    Everything Xbox needs from an asset — see UnityXboxAchievementPlatformDefinition.

    Structs

    AchievementWizardSummary.ProjectState

    What the project already holds at the paths this run targets, resolved once by the caller.

    Enums

    CreateAchievementSettingsWindow.WizardStep

    Public rather than private because C# requires a class's base type to be at least as accessible as the class itself, and this enum is that base type's argument.

    In this article
    © 2026 Serenity. All Rights Reserved