logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Namespace Serenity.CreateGame.Infrastructure.Editor

    Classes

    CreateGameGeneratedAssets

    Every generated-asset path Generate(string, CreateGameGeneratedAssets) wires onto the boot scene's installer. Caller-built — typically from a SerenityRecipeReport's RecipeAssetAction.AssetPath entries after running the minimal-loop recipe through SerenityRecipeEngine. The generator only loads these paths into asset references; it never derives or re-computes them itself.

    SerenityBootTaskCatalog

    Resolves the ordered initialization-pipeline task asset paths from the shipped NO_CUTSCENES profile, so a generated boot scene's MinimalLoopOptions.BootTaskAssetPaths can be filled from real project data instead of staying empty. Reads the profile's Tasks array via UnityEditor.SerializedObject rather than a typed UnityInitializationPipelineProfile reference, so the Create Game module does not need an asmdef dependency on the InitializationPipeline module for this one read.

    SerenityCreateGameSceneGenerator

    Orchestrates a full Create Game run: the gameplay scene, the boot scene, and the installer wiring that links them together, under a single output root. Mirrors SerenitySampleSceneGenerator: a static class, a SerenityCreateGameSceneGenerator.Result DTO, created-paths rollback via Serenity.Global.Infrastructure.Editor.SerenityAssetCreationTransaction, and no dialogs — this is the testable API a future menu-item wrapper calls.

    The boot scene's InitializationScene field must point at the boot scene itself, which does not exist as a UnityEditor.SceneAsset until after its first save. This runs the boot scene in two passes: the first save leaves InitializationScene null (only its string-typed sibling InitializationScenePath is known ahead of time, since that one is just a path, not an object reference). Once the save gives the scene a resolvable UnityEditor.SceneAsset, a second wiring pass sets the reference on the still-loaded scene and re-saves it — cheaper than closing and reopening the scene, since UnityEditor.SceneManagement.EditorSceneManager.SaveScene(UnityEngine.SceneManagement.Scene,System.String,System.Boolean) does not unload it.

    SerenityCreateGameSceneGenerator.Result

    Outcome of a Generate(string, CreateGameGeneratedAssets) call. The inherited Serenity.Global.Infrastructure.Editor.SerenityCreationResult.CreatedPaths is empty on a rerun that only updated already-existing scenes in place.

    SerenitySetupAssistantWindow

    Stepped, in-control wizard that scaffolds a minimal boot to main-menu to gameplay to pause loop for a first-time Serenity user: Intent explains what will be created, Configure collects the few choices that matter with live id-collision feedback plus the optional boot/gameplay scenes, Preview runs a dry run through the same SerenityRecipeEngine the manual importer uses, Create asks for an explicit confirmation before writing anything, and Done offers a way back into the generated content. Every write goes through the recipe engine, so it is undoable and idempotent exactly like a hand-authored recipe. Opened via Tools ▸ Serenity ▸ Create Game (aliased as Tools ▸ Serenity ▸ Setup Assistant for upgrade compatibility).

    In this article
    © 2026 Serenity. All Rights Reserved