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).