logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class SerenityBootTaskCatalog

    Resolves the ordered initialization-pipeline task asset paths from the shipped canonical 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. The selection-aware overload is two halves: Serenity.CreateGame.Infrastructure.Editor.BootTaskSelectionRules subtracts an unselected attributed system's task, then Serenity.CreateGame.Infrastructure.Editor.BootTaskSequenceRules adds back a selected system's task the shipped profile never carried (or no longer carries) — resolving each such task's asset path here, via Serenity.Global.Infrastructure.Editor.InitializationPipeline.InstallTaskAuthoring.FindExistingInstallTask(System.String,System.String@,System.Collections.Generic.List{System.String}@) first and Serenity.Global.Infrastructure.Editor.InitializationPipeline.InstallTaskAuthoring.CreateInstallTaskAsset(System.String,System.String,System.String@) only when no shipped asset exists for it, and placing it at Serenity.CreateGame.Infrastructure.Editor.BootTaskCanonicalOrder's deterministic position for it.

    Inheritance
    object
    SerenityBootTaskCatalog
    Inherited Members
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    Namespace: Serenity.CreateGame.Infrastructure.Editor
    Assembly: Serenity.UnityCreateGame.Infrastructure.Editor.dll
    Syntax
    public static class SerenityBootTaskCatalog

    Methods

    TryResolveBootTaskAssetPaths(IReadOnlyCollection<string>, IReadOnlyList<SerenityInstallableSystem>, out IReadOnlyList<string>, out string)

    Resolves Serenity.CreateGame.Infrastructure.Editor.SerenityBootTaskCatalog.ShippedProfilePath's task asset paths, drops every attributed system's task whose install method is not in selectedInstallMethodNames — and every task that merely REQUIRES such a system (Serenity.CreateGame.Infrastructure.Editor.BootTaskRequirements) — through FilterBySelection(IReadOnlyList<string>, Func<string, string>, IReadOnlyCollection<string>, IReadOnlyCollection<string>, Func<string, string>), then adds back a selected system's task the shipped profile never carried in the first place (InsertMissingSelectedTasks(IReadOnlyList<string>, IReadOnlyList<SerenityInstallableSystem>, Func<string, string>, Func<SerenityInstallableSystem, string>, IReadOnlyList<string>)). A generated boot scene's pipeline then runs every infrastructure task plus exactly the systems the reader actually selected, however the shipped profile itself is authored.

    Declaration
    public static bool TryResolveBootTaskAssetPaths(IReadOnlyCollection<string> selectedInstallMethodNames, IReadOnlyList<SerenityInstallableSystem> catalog, out IReadOnlyList<string> taskAssetPaths, out string error)
    Parameters
    Type Name Description
    IReadOnlyCollection<string> selectedInstallMethodNames

    The systems the reader selected. Null keeps every task unfiltered and skips the additive pass entirely, matching TryResolveBootTaskAssetPaths(out IReadOnlyList<string>, out string).

    IReadOnlyList<SerenityInstallableSystem> catalog

    Every attributed installable system — supplies the attributed-name set the subtractive filter needs; a selected system missing its task is placed additively at Serenity.CreateGame.Infrastructure.Editor.BootTaskCanonicalOrder's position for it.

    IReadOnlyList<string> taskAssetPaths
    string error
    Returns
    Type Description
    bool

    TryResolveBootTaskAssetPaths(out IReadOnlyList<string>, out string)

    Resolves the ordered task asset paths from Serenity.CreateGame.Infrastructure.Editor.SerenityBootTaskCatalog.ShippedProfilePath. Returns false with an empty list and a caller-visible error when the profile is missing or its serialized layout no longer matches.

    Declaration
    public static bool TryResolveBootTaskAssetPaths(out IReadOnlyList<string> taskAssetPaths, out string error)
    Parameters
    Type Name Description
    IReadOnlyList<string> taskAssetPaths
    string error
    Returns
    Type Description
    bool

    TryResolveShippedBootTaskAssetPaths(IReadOnlyCollection<string>, IReadOnlyList<SerenityInstallableSystem>, out IReadOnlyList<string>, out string)

    The SUBTRACTIVE half alone, over Serenity.CreateGame.Infrastructure.Editor.SerenityBootTaskCatalog.ShippedProfilePath: the shipped boot sequence selectedInstallMethodNames calls for, as SHIPPED paths, with nothing added and nothing created. TryResolveBootTaskAssetPaths(IReadOnlyCollection<string>, IReadOnlyList<SerenityInstallableSystem>, out IReadOnlyList<string>, out string) resolves-or-creates a task asset for a selected system the profile does not carry, which is exactly what a caller comparing a project's existing profile against the shipped one must NOT do — it needs to know what the shipped sequence holds, then adopt it, not author new package content on the way.

    Declaration
    public static bool TryResolveShippedBootTaskAssetPaths(IReadOnlyCollection<string> selectedInstallMethodNames, IReadOnlyList<SerenityInstallableSystem> catalog, out IReadOnlyList<string> taskAssetPaths, out string error)
    Parameters
    Type Name Description
    IReadOnlyCollection<string> selectedInstallMethodNames
    IReadOnlyList<SerenityInstallableSystem> catalog
    IReadOnlyList<string> taskAssetPaths
    string error
    Returns
    Type Description
    bool
    In this article
    © 2026 Serenity. All Rights Reserved