logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class CreateInitializationPipelineProfileWindow

    Step-by-step window for creating (or updating) one project's UnityInitializationPipelineProfile — the ordered list of install tasks run at boot. The stepped-wizard scaffolding — the header and breadcrumb, the body scroll, the footer and its error gate — comes from Serenity.Global.Infrastructure.Editor.SerenityStepWizardWindow`1; this window declares only its own step table and what the primary action does. It never mutates an asset itself: the window only collects input and renders results, InitializationPipelineProfileCreator does the actual validation and generation work.

    Reuses the whole task-authoring ecosystem instead of reimplementing it. A "new install task" row creates its task asset through the exact same Serenity.Global.Infrastructure.Editor.InitializationPipeline.InstallTaskAuthoring engine every aggregate wizard's embedded "Initialization Pipeline Task" section already uses. The Summary step's dry-run summary runs the exact same InitializationPipelineCriticalityRule both InitializationPipelineService.RunAsync and SerenityInitPipelineSimulatorWindow use, via PreviewFinalTaskOrder(Input) — and offers an "Open Pipeline Simulator" button into that same window for interactive fail-injection dry-runs this wizard's own inline summary does not attempt (it always assumes every task succeeds).

    Inheritance
    object
    CreateInitializationPipelineProfileWindow
    Namespace: Serenity.InitializationPipeline.Infrastructure.Editor.Builder
    Assembly: Serenity.UnityInitializationPipeline.Infrastructure.Editor.dll
    Syntax
    public sealed class CreateInitializationPipelineProfileWindow : SerenityStepWizardWindow<CreateInitializationPipelineProfileWindow.WizardStep>

    Constructors

    CreateInitializationPipelineProfileWindow()

    Declaration
    public CreateInitializationPipelineProfileWindow()

    Properties

    PrimaryButtonLabel

    Re-read every repaint off Serenity.InitializationPipeline.Infrastructure.Editor.Builder.CreateInitializationPipelineProfileWindow._cachedPreview, so the button says "Update" the moment the typed Profile Id resolves to a profile that already exists.

    Declaration
    protected override string PrimaryButtonLabel { get; }
    Property Value
    Type Description
    string

    WindowTitle

    Declaration
    protected override string WindowTitle { get; }
    Property Value
    Type Description
    string

    Methods

    BuildSteps()

    Declaration
    protected override WizardStepDescriptor<CreateInitializationPipelineProfileWindow.WizardStep>[] BuildSteps()
    Returns
    Type Description
    WizardStepDescriptor<WizardStep>[]

    OnPrimaryAction()

    Lands on Done through the ungated Serenity.Global.Infrastructure.Editor.SerenityStepWizardWindow`1.PingAndGoTo(System.String,`0,System.Boolean) rather than Serenity.Global.Infrastructure.Editor.SerenityStepWizardWindow`1.FinishWithAsset(System.String,`0): this window never installed a step-error gate, so its old jump to Done was ungated in practice, and it never latched a terminal run — its Done panel offers no "Create Another" to clear one again. Re-running against the profile just written is an insert-in-place, not a collision, so the Tasks step's gate can stay live.

    Declaration
    protected override void OnPrimaryAction()

    Open()

    Declaration
    public static void Open()
    In this article
    © 2026 Serenity. All Rights Reserved