logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class CutsceneRecipeImporter

    Generates UnityCutsceneDefinition assets from the cutscenes section. Each stage's type, duration, fade colour, and Timeline reference are written through a UnityEditor.SerializedObject (the UnityCutsceneStep fields are private), and the optional rig prefab is resolved by path. Runs between menus (30) and modals (40) so a cutscene exists before anything references it.

    Inheritance
    object
    RecipeSectionImporterBase
    CutsceneRecipeImporter
    Implements
    ISerenityRecipeSectionImporter
    Inherited Members
    RecipeSectionImporterBase.IsSupported
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    object.GetType()
    Namespace: Serenity.ProjectRecipe.Infrastructure.Editor.Importers
    Assembly: Serenity.UnityProjectRecipe.Infrastructure.Editor.dll
    Syntax
    public sealed class CutsceneRecipeImporter : RecipeSectionImporterBase, ISerenityRecipeSectionImporter

    Constructors

    CutsceneRecipeImporter()

    Declaration
    public CutsceneRecipeImporter()

    Properties

    ModuleLabel

    The Addressables module label applied to this section's created/updated assets when the run registers them (see Run(SerenityRecipe, string, RecipeRunMode, SerenityRecipeReport)). Null for sections whose assets are not registered as Addressable (generic/deferred sections, or sections with no module label of their own).

    Declaration
    public override string ModuleLabel { get; }
    Property Value
    Type Description
    string
    Overrides
    RecipeSectionImporterBase.ModuleLabel

    Order

    Declaration
    public override int Order { get; }
    Property Value
    Type Description
    int

    Execution order (ascending). Typed sections run first, the generic assets section after them so its references to generated assets resolve, and the deferred reporter last. Importers are discovered by reflection and sorted by this value, so a new section just picks an order without touching the engine.

    Overrides
    RecipeSectionImporterBase.Order

    SectionName

    Declaration
    public override string SectionName { get; }
    Property Value
    Type Description
    string

    The recipe section this importer handles (used for reporting), e.g. audioClips.

    Overrides
    RecipeSectionImporterBase.SectionName

    Methods

    Import(SerenityRecipeImportContext)

    Creates or updates this section's assets. In a dry run the context suppresses writes, so this only resolves and records the would-be outcomes. Not called when the report has blockers.

    Declaration
    public override void Import(SerenityRecipeImportContext context)
    Parameters
    Type Name Description
    SerenityRecipeImportContext context

    The shared import context.

    Overrides
    RecipeSectionImporterBase.Import(SerenityRecipeImportContext)

    Validate(SerenityRecipeImportContext)

    Validates this section against the recipe and project, reporting errors/warnings/info. Must not modify any asset. Called for every run mode.

    Declaration
    public override void Validate(SerenityRecipeImportContext context)
    Parameters
    Type Name Description
    SerenityRecipeImportContext context

    The shared import context.

    Overrides
    RecipeSectionImporterBase.Validate(SerenityRecipeImportContext)

    Implements

    ISerenityRecipeSectionImporter
    In this article
    © 2026 Serenity. All Rights Reserved