logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class UnitySerenityInstaller

    The settings assets a designer wires onto the composition root in the inspector.

    Inheritance
    object
    UnitySerenityInstaller
    Implements
    IFoundationSettings
    IUnityInstallationContext
    IInstalledLogServices
    Namespace: Serenity.Installation
    Assembly: Serenity.Installation.dll
    Syntax
    public class UnitySerenityInstaller : MonoBehaviour, IFoundationSettings, IUnityInstallationContext, IInstalledLogServices
    Remarks

    This facet is Unity-serialized inspector state, not logic: every member is a public reference field the Inspector serializes without [SerializeField] — state a collaborator could not hold instead, since Unity only serializes fields declared on the component type.

    Constructors

    UnitySerenityInstaller()

    Declaration
    public UnitySerenityInstaller()

    Fields

    AchievementInstaller

    Declaration
    public UnityAchievementInstaller AchievementInstaller
    Field Value
    Type Description
    UnityAchievementInstaller

    AchievementSettings

    Declaration
    public UnityAchievementSettings AchievementSettings
    Field Value
    Type Description
    UnityAchievementSettings

    AchievementsViewInstaller

    Declaration
    public UnityAchievementsViewInstaller AchievementsViewInstaller
    Field Value
    Type Description
    UnityAchievementsViewInstaller

    AssetLoadingMode

    Declaration
    public SerenityAssetLoadingMode AssetLoadingMode
    Field Value
    Type Description
    SerenityAssetLoadingMode

    AssetPrefetcherInstaller

    Declaration
    public UnityAssetPrefetcherInstaller AssetPrefetcherInstaller
    Field Value
    Type Description
    UnityAssetPrefetcherInstaller

    AudioPlayerInstaller

    Declaration
    public UnityAudioPlayerInstaller AudioPlayerInstaller
    Field Value
    Type Description
    UnityAudioPlayerInstaller

    AudioPlayerSettings

    Declaration
    public List<UnityAudioPlayerSettings> AudioPlayerSettings
    Field Value
    Type Description
    List<UnityAudioPlayerSettings>

    CascadeViewInstaller

    Declaration
    public UnityCascadeViewInstaller CascadeViewInstaller
    Field Value
    Type Description
    UnityCascadeViewInstaller

    CompositeViewInstaller

    Declaration
    public UnityCompositeViewInstaller CompositeViewInstaller
    Field Value
    Type Description
    UnityCompositeViewInstaller

    ConsoleLogInstaller

    Declaration
    public UnityConsoleLogInstaller ConsoleLogInstaller
    Field Value
    Type Description
    UnityConsoleLogInstaller

    ConsoleLogSettings

    Declaration
    public UnityConsoleLogSettings ConsoleLogSettings
    Field Value
    Type Description
    UnityConsoleLogSettings

    CutscenePlayerInstaller

    Declaration
    public UnityCutscenePlayerInstaller CutscenePlayerInstaller
    Field Value
    Type Description
    UnityCutscenePlayerInstaller

    CutscenePlayerSettings

    Declaration
    public UnityCutscenePlayerSettings CutscenePlayerSettings
    Field Value
    Type Description
    UnityCutscenePlayerSettings

    DestroyOnFinish

    Declaration
    public bool DestroyOnFinish
    Field Value
    Type Description
    bool

    EventDispatcherInstaller

    Declaration
    public UnityEventDispatcherInstaller EventDispatcherInstaller
    Field Value
    Type Description
    UnityEventDispatcherInstaller

    FeedbackInstaller

    Declaration
    public UnityFeedbackInstaller FeedbackInstaller
    Field Value
    Type Description
    UnityFeedbackInstaller

    FeedbackSettings

    Declaration
    public UnityFeedbackSettings FeedbackSettings
    Field Value
    Type Description
    UnityFeedbackSettings

    FileLogInstaller

    Declaration
    public UnityFileLogInstaller FileLogInstaller
    Field Value
    Type Description
    UnityFileLogInstaller

    FileLogSettings

    Declaration
    public UnityFileLogSettings FileLogSettings
    Field Value
    Type Description
    UnityFileLogSettings

    FilePersistenceInstaller

    Declaration
    public UnityFilePersistenceInstaller FilePersistenceInstaller
    Field Value
    Type Description
    UnityFilePersistenceInstaller

    GameCameraInstaller

    Declaration
    public UnityGameCameraInstaller GameCameraInstaller
    Field Value
    Type Description
    UnityGameCameraInstaller

    GameCameraSettings

    Declaration
    public UnityGameCameraSettings GameCameraSettings
    Field Value
    Type Description
    UnityGameCameraSettings

    GameGraphicsInstaller

    Declaration
    public UnityGameGraphicsInstaller GameGraphicsInstaller
    Field Value
    Type Description
    UnityGameGraphicsInstaller

    GameGraphicsSettings

    Declaration
    public UnityGameGraphicsSettings GameGraphicsSettings
    Field Value
    Type Description
    UnityGameGraphicsSettings

    GameModeInstaller

    Declaration
    public UnityGameModeInstaller GameModeInstaller
    Field Value
    Type Description
    UnityGameModeInstaller

    GameModeSettingsDefinition

    Declaration
    public UnityGameModeSettingsDefinition GameModeSettingsDefinition
    Field Value
    Type Description
    UnityGameModeSettingsDefinition

    GameProgressInstaller

    Declaration
    public UnityGameProgressInstaller GameProgressInstaller
    Field Value
    Type Description
    UnityGameProgressInstaller

    GameProgressSettings

    Declaration
    public UnityGameProgressSettings GameProgressSettings
    Field Value
    Type Description
    UnityGameProgressSettings

    GameSaveInstaller

    Declaration
    public UnityGameSaveInstaller GameSaveInstaller
    Field Value
    Type Description
    UnityGameSaveInstaller

    GameSaveSettings

    Declaration
    public UnityGameSaveSettings GameSaveSettings
    Field Value
    Type Description
    UnityGameSaveSettings

    GameSettingsDefinitions

    Declaration
    public List<UnityGameSettingsDefinition> GameSettingsDefinitions
    Field Value
    Type Description
    List<UnityGameSettingsDefinition>

    GameSettingsInstaller

    Declaration
    public UnityGameSettingsInstaller GameSettingsInstaller
    Field Value
    Type Description
    UnityGameSettingsInstaller

    GameUiInstaller

    Declaration
    public UnityGameUiInstaller GameUiInstaller
    Field Value
    Type Description
    UnityGameUiInstaller

    GameWrapper

    Declaration
    public GameObject GameWrapper
    Field Value
    Type Description
    GameObject

    GameplayScene

    Declaration
    public SceneAsset GameplayScene
    Field Value
    Type Description
    SceneAsset

    GameplayScenePath

    Declaration
    public string GameplayScenePath
    Field Value
    Type Description
    string

    GlobalInstaller

    Declaration
    public UnityGlobalInstaller GlobalInstaller
    Field Value
    Type Description
    UnityGlobalInstaller

    Guid

    Declaration
    public string Guid
    Field Value
    Type Description
    string

    HudDefinitions

    Declaration
    public List<UnityHudDefinition> HudDefinitions
    Field Value
    Type Description
    List<UnityHudDefinition>

    Id

    Declaration
    public string Id
    Field Value
    Type Description
    string

    InitializationPipelineInstaller

    Declaration
    public UnityInitializationPipelineInstaller InitializationPipelineInstaller
    Field Value
    Type Description
    UnityInitializationPipelineInstaller

    InitializationPipelineProfile

    Declaration
    public UnityInitializationPipelineProfile InitializationPipelineProfile
    Field Value
    Type Description
    UnityInitializationPipelineProfile

    InitializationScene

    Declaration
    public SceneAsset InitializationScene
    Field Value
    Type Description
    SceneAsset

    InitializationScenePath

    Declaration
    public string InitializationScenePath
    Field Value
    Type Description
    string

    InstallOnStart

    Declaration
    public bool InstallOnStart
    Field Value
    Type Description
    bool

    LeaderboardInstaller

    Declaration
    public UnityLeaderboardInstaller LeaderboardInstaller
    Field Value
    Type Description
    UnityLeaderboardInstaller

    LeaderboardSettings

    Declaration
    public UnityLeaderboardSettings LeaderboardSettings
    Field Value
    Type Description
    UnityLeaderboardSettings

    LeaderboardViewInstaller

    Declaration
    public UnityLeaderboardViewInstaller LeaderboardViewInstaller
    Field Value
    Type Description
    UnityLeaderboardViewInstaller

    LocalizationInstaller

    Declaration
    public UnityLocalizationInstaller LocalizationInstaller
    Field Value
    Type Description
    UnityLocalizationInstaller

    LocalizationSettings

    Declaration
    public UnityLocalizationSettings LocalizationSettings
    Field Value
    Type Description
    UnityLocalizationSettings

    LogProfile

    Declaration
    public UnityLogProfile LogProfile
    Field Value
    Type Description
    UnityLogProfile

    MenuInstaller

    Declaration
    public UnityMenuInstaller MenuInstaller
    Field Value
    Type Description
    UnityMenuInstaller

    MenuServiceSettingsDefinition

    Declaration
    public UnityMenuServiceSettingsDefinition MenuServiceSettingsDefinition
    Field Value
    Type Description
    UnityMenuServiceSettingsDefinition

    ModalInstaller

    Declaration
    public UnityModalInstaller ModalInstaller
    Field Value
    Type Description
    UnityModalInstaller

    ModalServiceSettingsDefinition

    Declaration
    public UnityModalServiceSettingsDefinition ModalServiceSettingsDefinition
    Field Value
    Type Description
    UnityModalServiceSettingsDefinition

    MusicPlayerInstaller

    Declaration
    public UnityMusicPlayerInstaller MusicPlayerInstaller
    Field Value
    Type Description
    UnityMusicPlayerInstaller

    PathService

    Declaration
    public IPathService PathService
    Field Value
    Type Description
    IPathService

    PersistenceBackendDefinition

    Declaration
    public UnityPersistenceBackendDefinition PersistenceBackendDefinition
    Field Value
    Type Description
    UnityPersistenceBackendDefinition

    PersistenceUseCases

    Declaration
    public PersistenceUseCases PersistenceUseCases
    Field Value
    Type Description
    PersistenceUseCases

    PlayerInputInstaller

    Declaration
    public UnityPlayerInputInstaller PlayerInputInstaller
    Field Value
    Type Description
    UnityPlayerInputInstaller

    PlayerInputSettingsDefinition

    Declaration
    public UnityPlayerInputSettingsDefinition PlayerInputSettingsDefinition
    Field Value
    Type Description
    UnityPlayerInputSettingsDefinition

    PrefetchPolicyRegistry

    Declaration
    public PrefetchPolicyRegistry PrefetchPolicyRegistry
    Field Value
    Type Description
    PrefetchPolicyRegistry

    ScoreInstaller

    Declaration
    public UnityScoreInstaller ScoreInstaller
    Field Value
    Type Description
    UnityScoreInstaller

    ScoreSettings

    Declaration
    public UnityScoreSettings ScoreSettings
    Field Value
    Type Description
    UnityScoreSettings

    ServiceLocatorInstaller

    Declaration
    public ServiceLocatorInstaller ServiceLocatorInstaller
    Field Value
    Type Description
    ServiceLocatorInstaller

    SoundMixerInstaller

    Declaration
    public UnitySoundMixerInstaller SoundMixerInstaller
    Field Value
    Type Description
    UnitySoundMixerInstaller

    SoundMixerSettings

    Declaration
    public UnitySoundMixerSettings SoundMixerSettings
    Field Value
    Type Description
    UnitySoundMixerSettings

    StructuredLogInstallers

    Declaration
    public List<UnityStructuredLogInstaller> StructuredLogInstallers
    Field Value
    Type Description
    List<UnityStructuredLogInstaller>

    StructuredLogSettings

    Declaration
    public List<UnityStructuredLogSettings> StructuredLogSettings
    Field Value
    Type Description
    List<UnityStructuredLogSettings>

    SystemConfigurationInstaller

    Declaration
    public UnitySystemConfigurationInstaller SystemConfigurationInstaller
    Field Value
    Type Description
    UnitySystemConfigurationInstaller

    SystemConfigurationSettings

    Declaration
    public UnitySystemConfigurationSettings SystemConfigurationSettings
    Field Value
    Type Description
    UnitySystemConfigurationSettings

    TaskBuildContext

    Declaration
    public TaskBuildContext TaskBuildContext
    Field Value
    Type Description
    TaskBuildContext

    TimerInstaller

    Declaration
    public UnityTimerInstaller TimerInstaller
    Field Value
    Type Description
    UnityTimerInstaller

    UiInstaller

    Declaration
    public UnityUiInstaller UiInstaller
    Field Value
    Type Description
    UnityUiInstaller

    UiSettings

    Declaration
    public UnityUiSettings UiSettings
    Field Value
    Type Description
    UnityUiSettings

    ViewBrowserInstaller

    Declaration
    public ViewBrowserInstaller ViewBrowserInstaller
    Field Value
    Type Description
    ViewBrowserInstaller

    ViewElementFactory

    Declaration
    public UnityViewElementFactory ViewElementFactory
    Field Value
    Type Description
    UnityViewElementFactory

    ViewRouter

    Declaration
    public IViewRouter ViewRouter
    Field Value
    Type Description
    IViewRouter

    gameSettingsFile

    Declaration
    public string gameSettingsFile
    Field Value
    Type Description
    string

    Methods

    Awake()

    Declaration
    public void Awake()

    DisableGameWrapper()

    Declaration
    public void DisableGameWrapper()

    EnableAudioServices()

    Enables all audio services.

    Declaration
    public void EnableAudioServices()

    EnableGameWrapper()

    Declaration
    public void EnableGameWrapper()

    EnableInputServiceControllers()

    Enables all input service controllers.

    Declaration
    public void EnableInputServiceControllers()

    EnableMusicService()

    Enables the music service.

    Declaration
    public void EnableMusicService()

    FinishInstallation()

    Finishes the installation process.

    Declaration
    public IEnumerator FinishInstallation()
    Returns
    Type Description
    IEnumerator

    An IEnumerator for coroutine execution.

    GetLogServiceFromRoute(Type, UnityLogProfile)

    Resolves the log service configured for an installer type, honouring the active log profile.

    Declaration
    public ILogService GetLogServiceFromRoute(Type targetInstallerType, UnityLogProfile logProfile = null)
    Parameters
    Type Name Description
    Type targetInstallerType

    The installer the log route is configured against.

    UnityLogProfile logProfile

    The profile to route through, or null to use the wired one.

    Returns
    Type Description
    ILogService

    The routed log service, or null when none could be resolved.

    InstallAchievements()

    Installs the achievements (unlocks, progress and trophy mirroring) service. Runs as an Initialization Pipeline reflection task (see the InstallAchievements task asset), after the game-progress and game-save services its conditions read from.

    Declaration
    public void InstallAchievements()

    InstallAchievementsViews()

    Builds and registers achievements views. Called by InstallMenu(), and again by InstallAchievements() when that task runs after the menus — idempotent so the views are only ever built by whichever of the two runs with both tiers available. The guard relies on Install(IUnityInstallationContext) returning null when the achievements module is not installed yet: a skipped attempt must not count as installed.

    Declaration
    public void InstallAchievementsViews()

    InstallAudioPlayers()

    Installs the audio players services.

    Declaration
    public void InstallAudioPlayers()

    InstallBootstrapServices()

    Installs the core bootstrap services required for the Serenity foundation.

    Declaration
    public void InstallBootstrapServices()

    InstallCascadeViews()

    Builds and registers cascade views. Called by InstallMenu().

    Declaration
    public void InstallCascadeViews()

    InstallCharacter()

    Installs the character module: the character service and the spawn service every character is pooled through. Like every SerenityGameplayModuleAttribute method below, it only runs the module's installation step, which publishes the installer for later steps.

    Declaration
    public void InstallCharacter()

    InstallCheckpoint()

    Installs the checkpoint module and the store its checkpoints are saved through.

    Declaration
    public void InstallCheckpoint()

    InstallCombo()

    Installs the combo module.

    Declaration
    public void InstallCombo()

    InstallCompositeViews()

    Builds and registers composite custom views. Called by InstallMenu().

    Declaration
    public void InstallCompositeViews()

    InstallConsoleLogService()

    Installs the console log service.

    Declaration
    public void InstallConsoleLogService()

    InstallCutscenePlayer()

    Installs the cutscene player service.

    Declaration
    public void InstallCutscenePlayer()

    InstallEventDispatcher()

    Installs the event dispatcher service.

    Declaration
    public void InstallEventDispatcher()

    InstallFeedback()

    Installs the feedback (haptics) service.

    Declaration
    public void InstallFeedback()

    InstallFileLogService()

    Installs the file log service.

    Declaration
    public void InstallFileLogService()

    InstallGameCamera()

    Installs the game camera (registry, active-camera switching, split-screen) service.

    Declaration
    public void InstallGameCamera()

    InstallGameGraphics()

    Installs the game graphics service.

    Declaration
    public void InstallGameGraphics()

    InstallGameMode()

    Installs the game mode service for managing Menu/Game/Pause states.

    Declaration
    public void InstallGameMode()

    InstallGameProgress()

    Installs the game-progress (global completion count/unlocked extras) service. Runs as an Initialization Pipeline reflection task (see the InstallGameProgress task asset), no longer during bootstrap.

    Declaration
    public void InstallGameProgress()

    InstallGameRail()

    Installs the game rail module, which rail drivers and followers move along.

    Declaration
    public void InstallGameRail()

    InstallGameSave()

    Installs the game-save (slot-based save/load) service. Runs as an Initialization Pipeline reflection task (see the InstallGameSave task asset), no longer during bootstrap.

    Declaration
    public void InstallGameSave()

    InstallGameSession()

    Installs the game session module. A session is timed by the timer service, so it belongs after InstallTimer().

    Declaration
    public void InstallGameSession()

    InstallGameSettings()

    Installs the game settings service.

    Declaration
    public void InstallGameSettings()

    InstallGameSpawner()

    Installs the game spawner module.

    Declaration
    public void InstallGameSpawner()

    InstallGameUi()

    Installs the game-UI (HUD, results and screen presenters) service. Runs as an Initialization Pipeline reflection task (see the InstallGameUi task asset), like the leaderboard and game-progress services.

    Declaration
    public void InstallGameUi()

    InstallGameWeapon()

    Installs the game weapon module: firing and reloading.

    Declaration
    public void InstallGameWeapon()

    InstallGameplayEntity()

    Installs the gameplay entity module.

    Declaration
    public void InstallGameplayEntity()

    InstallHittable()

    Installs the hittable module: health, hits and destruction.

    Declaration
    public void InstallHittable()

    InstallInitializationPipeline()

    Installs the initialization pipeline.

    Declaration
    public void InstallInitializationPipeline()
    Remarks

    Requires InitializationPipelineProfile to be set.

    InstallLeaderboard()

    Installs the leaderboard (score submission/ranking) service. Runs as an Initialization Pipeline reflection task (see the InstallLeaderboard task asset), no longer during bootstrap.

    Declaration
    public void InstallLeaderboard()

    InstallLeaderboardViews()

    Builds and registers leaderboard views. Called by InstallMenu(), and again by InstallLeaderboard() when that task runs after the menus — idempotent so the views are only ever built by whichever of the two runs with both tiers available. The guard relies on Install(IUnityInstallationContext) returning null when the leaderboard backend is not installed yet: a skipped attempt must not count as installed.

    Declaration
    public void InstallLeaderboardViews()

    InstallLocalization()

    Installs the localization service, or its Resources-only fallback.

    Declaration
    public void InstallLocalization()

    InstallMenu()

    Installs the menu service, then the view subsystems that build on top of it.

    Declaration
    public void InstallMenu()
    Remarks

    The fan-out lives here because the composition root is the only place that legitimately knows the order between aggregates. Keeping it here is also what lets the menu assembly stay unaware of the leaderboard one.

    InstallModal()

    Installs the modal service and its components.

    Declaration
    public void InstallModal()

    InstallMusicPlayers()

    Installs the music players services.

    Declaration
    public void InstallMusicPlayers()

    InstallPlayerInput()

    Installs the playerInput service.

    Declaration
    public void InstallPlayerInput()

    InstallScore()

    Installs the score (multi-metric scoreboard) service. Runs as an Initialization Pipeline reflection task (see the InstallScore task asset), closing the boot-race window during which gameplay content under GameWrapper is inactive.

    Declaration
    public void InstallScore()

    InstallSoundMixer()

    Installs the console log service.

    Declaration
    public void InstallSoundMixer()

    InstallStage()

    Installs the stage module, which loads every stage under the game wrapper.

    Declaration
    public void InstallStage()

    InstallStructuredLogService()

    Installs the structured log sink services, one per configured settings asset.

    Declaration
    public void InstallStructuredLogService()

    InstallSystemConfiguration()

    Installs the system configuration service.

    Declaration
    public void InstallSystemConfiguration()

    InstallTaskBuildContext()

    Installs the TaskBuildContext.

    Declaration
    public void InstallTaskBuildContext()
    Remarks

    Requires ITaskBuildContext to be set.

    InstallTimer()

    Installs the timer service.

    Declaration
    public void InstallTimer()

    InstallUi()

    Installs the UI service and its components.

    Declaration
    public void InstallUi()

    InstallUnityViewElementFactory()

    Installs the factory every view element is created through, once: the bootstrap and a profile's task can both call this.

    Declaration
    public void InstallUnityViewElementFactory()

    InstallViewBrowser()

    Installs the view browser service and its use cases.

    Declaration
    public void InstallViewBrowser()

    InstallWave()

    Installs the wave module. Its waves spawn through the character spawn service, so it belongs after InstallCharacter().

    Declaration
    public void InstallWave()

    RegisterService<T>(T)

    Declaration
    public void RegisterService<T>(T service) where T : class
    Parameters
    Type Name Description
    T service
    Type Parameters
    Name Description
    T

    ReturnToPrimaryInputGate()

    Returns from the main menu to the primary input gate.

    Declaration
    public void ReturnToPrimaryInputGate()

    RunInitializationPipeline()

    Runs the initialization pipeline asynchronously, then reports a halted boot through SerenityBootFailureReporter. Nothing else observes this fire-and-forget call, so without the report a boot stopped by a critical task leaves the player on the loading screen with the reason only in the console.

    Declaration
    public void RunInitializationPipeline()

    ShowMenu()

    Shows the initial/root view (menu or custom view) via the top-level view router.

    Declaration
    public void ShowMenu()

    ShowPrimaryInputView()

    Shows the primary input view.

    Declaration
    public void ShowPrimaryInputView()

    Start()

    Declaration
    public void Start()

    WrapServices()

    Parents every installed service under a single wrapper object.

    Declaration
    public void WrapServices()

    Implements

    IFoundationSettings
    IUnityInstallationContext
    IInstalledLogServices
    In this article
    © 2026 Serenity. All Rights Reserved