UI Controller

Category: Tools / Mods
Context: The UIController began in Project Longbow (Artemis) and informed the diegetic tablet and contextual HUD handling used again in Data Division. The point of the system was not a generic menu stack. It was a reusable control layer for switching between physical reality, mission-only interfaces, and remote operations without breaking immersion.

The Contextual Paradigm

UI in immersive sims often struggles with diegetic placement. The UIController solves this by aggressively splitting the hierarchy into generalGameUI and activityUI.

When the UIController.Instance cycles its toggle:

public void ToggleActivityUI()
{
    isInDroneOnly = CheckIfDroneOnly();

    if (isInDroneOnly)
    {
        // Only the Activity UI needs to show, if its drone only.
        generalGameUI.SetActive(false);
        actvityUI.SetActive(true);
    }
}

During a drone raid (isDroneOnlyLevel = true), the generalGameUI—which typically draws the generalWallet, dayWeekCount, and other meta-progression stats—is completely disabled. The player is physically separated from their wallet and their calendar. They only see the activityUI: the immediate readout of their drone’s sensor suite.

This intentional blindness prevents HUD clutter during tense stealth sequences and reinforces the narrative severing of the drone from the player’s safehouse.