logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class AchievementsStudioWindow

    One window for every achievement in the project: the whole list on the left, the selected achievement's full authoring surface on the right, and the actions that create, copy, remove, validate and fire one.

    Inheritance
    object
    AchievementsStudioWindow
    Namespace: Serenity.Achievements.Infrastructure.Editor.Studio
    Assembly: Serenity.UnityAchievements.Infrastructure.Editor.dll
    Syntax
    public sealed class AchievementsStudioWindow : EditorWindow
    Remarks

    A project ships hundreds of achievements as one asset each, which is the right storage shape and the wrong browsing shape: the Project window can show the files but not what any of them awards, conceals or demands, and answering "which of these has no Steam name yet" meant opening them one at a time. This is the master-detail view that makes the set readable, in the idiom SerenitySignalFlowBrowserWindow established.

    The window writes no asset itself. Creating, copying and deleting go through AchievementDefinitionCreator, which owns rollback and the safe-delete handover; the detail pane writes fields through a UnityEditor.SerializedObject, which owns undo. What is here is the list, the selection, and the wiring between the toolbar, the prompt, the list and the pane.

    Selection is held as an asset GUID rather than a reference or an index, because every action the window offers rebuilds the list and a domain reload throws it away entirely — see AchievementsStudioSelection.

    The second tab, AchievementPlatformTableGui, is the same set seen as a grid of storefront identifiers, plus the manifest export — a tab rather than a window because it reads the catalog this one already loaded and judged.

    Constructors

    AchievementsStudioWindow()

    Declaration
    public AchievementsStudioWindow()

    Methods

    Open()

    Opens the Achievements Studio.

    Declaration
    public static void Open()

    Open(UnityAchievementDefinition)

    Opens the Achievements Studio with one achievement already selected.

    Declaration
    public static void Open(UnityAchievementDefinition definition)
    Parameters
    Type Name Description
    UnityAchievementDefinition definition

    The achievement to show. Ignored when it is not an asset.

    Remarks

    Clears the search and the filter on the way in, because the caller asked for this achievement and a narrowing left over from the last session would answer with a different one.

    In this article
    © 2026 Serenity. All Rights Reserved