logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class UnitySerenityInstaller

    Central installer for setting up Serenity foundation services in a Unity environment.

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

    Handles installation of core services like localization, UI, audio, and more.

    Constructors

    UnitySerenityInstaller()

    Declaration
    public UnitySerenityInstaller()

    Fields

    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

    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

    DestroyOnFinish

    Declaration
    public bool DestroyOnFinish
    Field Value
    Type Description
    bool

    EventDispatcherInstaller

    Declaration
    public UnityEventDispatcherInstaller EventDispatcherInstaller
    Field Value
    Type Description
    UnityEventDispatcherInstaller

    FileLogInstaller

    Declaration
    public UnityFileLogInstaller FileLogInstaller
    Field Value
    Type Description
    UnityFileLogInstaller

    FileLogSettings

    Declaration
    public UnityFileLogSettings FileLogSettings
    Field Value
    Type Description
    UnityFileLogSettings

    FilePersistenceInstaller

    Declaration
    public IOFilePersistenceInstaller FilePersistenceInstaller
    Field Value
    Type Description
    IOFilePersistenceInstaller

    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

    GameSettingsInstaller

    Declaration
    public UnityGameSettingsInstaller GameSettingsInstaller
    Field Value
    Type Description
    UnityGameSettingsInstaller

    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

    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

    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

    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

    ServiceLocatorInstaller

    Declaration
    public ServiceLocatorInstaller ServiceLocatorInstaller
    Field Value
    Type Description
    ServiceLocatorInstaller

    SoundMixerInstaller

    Declaration
    public UnitySoundMixerInstaller SoundMixerInstaller
    Field Value
    Type Description
    UnitySoundMixerInstaller

    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

    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)

    Gets the appropriate LogInstaller based on the provided log profile and target installer type.

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

    The target installer type for which to get the LogInstaller.

    UnityLogProfile logProfile

    The log profile containing routing information.

    Returns
    Type Description
    ILogService

    The resolved LogInstaller or a default if none found.

    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()

    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()

    InstallFileLogService()

    Installs the file log service.

            <p>
            <b>WebGL exemption</b>: in the WebGL runtime player, <xref href="UnityEngine.Application.persistentDataPath" data-throw-if-not-resolved="false"></xref>
            maps to the browser's <code>IDBFS</code> mount, and every file write Serenity issues there
            triggers a synchronous JS_FileSystem_Sync round-trip to IndexedDB. Skipping the file
            installer entirely is the contained fix: the existing fallback chain in
            <xref href="Serenity.Installation.UnitySerenityInstaller.GetLogServiceFromKeyOrTypeName(System.String)" data-throw-if-not-resolved="false"></xref> / <xref href="Serenity.Installation.UnitySerenityInstaller.RegisterLogServiceInServiceLocator" data-throw-if-not-resolved="false"></xref>
            already routes to the console installer when <code>FileLogInstaller</code> is null, so
            every <code>ILogService</code> consumer transparently uses console logging on WebGL with
            no other change required. Every other platform (Editor, Standalone, mobile) keeps
            the existing dual-installer behaviour.
            </p>
    
    Declaration
    public void InstallFileLogService()

    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()

    InstallGameSettings()

    Installs the game settings service.

    Declaration
    public void InstallGameSettings()

    InstallInitializationPipeline()

    Installs the initialization pipeline.

    Declaration
    public void InstallInitializationPipeline()
    Remarks

    Requires InitializationPipelineProfile to be set.

    InstallLocalization()

    Installs the Localization service. In Addressables-using modes this wires up the full Unity Localization stack (locale registry, string/asset tables) via UnityLocalizationInstaller. In ResourcesOnly mode Unity Localization is bypassed entirely — accessing its LocalizationSettings.AvailableLocales triggers an Addressables WaitForCompletion that crashes on WebGL — and a SerenityFallbackLocalizationService is registered instead. Both code paths register the resulting ILocalizationService into both the init-time service container (RegisterService<T>(T)) and the runtime IServiceLocator so consumers like UnityUiTMP_TextLocalizationUpdaterComponent can resolve by interface.

    Declaration
    public void InstallLocalization()

    InstallMenu()

    Installs the menu service and its components.

    Declaration
    public void InstallMenu()

    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()

    InstallSoundMixer()

    Installs the console log service.

    Declaration
    public void InstallSoundMixer()

    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 persistence services.

    Declaration
    public void InstallUnityViewElementFactory()

    InstallViewBrowser()

    Installs the view browser service and its use cases.

    Declaration
    public void InstallViewBrowser()

    RegisterService<T>(T)

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

    RunInitializationPipeline()

    Runs the initialization pipeline asynchronously.

    Declaration
    public void RunInitializationPipeline()

    ShowMenu()

    Shows the initial menu.

    Declaration
    public void ShowMenu()

    ShowPrimaryInputView()

    Shows the primary input view.

    Declaration
    public void ShowPrimaryInputView()

    Start()

    Declaration
    public void Start()

    WrapAudioServices()

    Wraps the audio services into a single GameObject.

    Declaration
    public GameObject WrapAudioServices()
    Returns
    Type Description
    GameObject

    The GameObject containing all audio services, or null if none exist.

    WrapServices()

    Installs the asset preloading integration.

    Declaration
    public void WrapServices()

    Implements

    IFoundationSettings
    In this article
    © 2026 Serenity. All Rights Reserved