logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class MenuRecipeImporter

    Generates UnityMenuSettingsDefinition assets from the menus section. Layout, title, alignment, direction, scrolling, options, and signal wiring (menu-level onShow/onHide/ onCancel/onSubmit and per-option submit signals) are supported. Signals are applied through RecipeSignalCodec; an unresolvable signal type is reported and left unset.

    Inheritance
    object
    RecipeSectionImporterBase
    MenuRecipeImporter
    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 MenuRecipeImporter : RecipeSectionImporterBase, ISerenityRecipeSectionImporter

    Constructors

    MenuRecipeImporter()

    Declaration
    public MenuRecipeImporter()

    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