UI Initialization

Note

This page used to document a single UIController class, described as “a mediator between UI elements”. That class no longer exists — UI bootstrap and input routing are now split between the three classes below.

public class UIInitializer : RTSBootable

Boots the UI: collects scene references (canvases, minimap, etc.) into a UIContext, and registers every UI component implementing IRequireInject in the scene as a dependency-injection target.

public sealed class UIEarlyInitSystem : IInitSystem

Runs right after UIInitializer. Calls MakeEarlySubscriptions() on the minimap and Fog of War minimap, so they start listening to unit events before the match actually begins.

public class UIInputSystem : MonoBehaviour, IRequireInject

Handles top-level UI input which isn’t specific to any single window: opening/closing the pause menu, routing production hotkeys to the correct building icon, and the “exit to menu” buttons.