Namespace Serenity.Menu.Installation.Installers
Classes
MenuInstaller<TAction, TContext>
Abstract base class for installing Menu components and services.
MenuUseCaseInstaller
Installer for setting up menu use cases.
UnityCascadeViewInstallationStep
Builds and registers cascade views (SO-authored cascade menus hosted in their own view), then exposes the service as a view provider so a menu option can transition to a cascade view by id. Runs after composites; cascade views are independent top-level views like menus and composites.
UnityCompositeViewInstallationStep
Builds and registers composite custom views, hosting menus by id via the menu service. Runs right after the menus are installed so a composite can resolve any menu children it embeds.
UnityMenuInstallationStep
Installs the menu aggregate into the running composition.
UnityMenuInstaller
Unity-specific implementation of MenuInstaller that handles menu system installation and configuration.
Manages the creation of menu services, views, controllers, and UI components with Unity Input System integration.
UnityMenuInstallerInstallInput
The Unity-specific install input for the menu aggregate: everything the engine-agnostic MenuInstallerInstallInput<TAction, TContext> carries, plus the menu service settings asset the composition root pins on its installer. The composition root already had that asset — it handed the step its Id and ControllerId — while the installer re-discovered the same asset by label, so one asset had two independent sources and nothing kept them equal.
Shaped as a subclass rather than a wrapper so UnityMenuInstaller.Install keeps its
engine-agnostic parameter type and prefers the DTO with a label fallback, the shape
UnityUiInstaller and UnityLocalizationInstaller already use.
UnityMenuOptionRuntimeSafety
Provides runtime safety helpers for validating and normalizing menu option value and interaction type combinations. The allowed-interaction-type and value-type-compatibility rules delegate to the canonical UiOptionRules (previously duplicated here independently of the editor's ruleset).