Namespace Serenity.InputGateway.Infrastructure.Components
Classes
UnityPlayerInputSlots
Unity implementation of player input slots management for tracking device assignments.
Manages a collection of player slots with unique indices, device IDs, and optional layout information.
Provides functionality for assigning, unassigning, and tracking active player input devices.
UnityPrimaryDeviceSelector
Component that waits for the first input from any unpaired device to select the "Primary Device" for Player 1.
UnityPrimaryInputGate
Unity implementation of a primary input gate that waits for the first input device interaction to establish primary player control.
Monitors input events to latch the first device button press and completes the join when that button is RELEASED,
so the join cascade (device routing, menu activation) never runs while the button is still held — preventing the
press from leaking into UI actions (e.g. submitting the focused option of the menu shown right after joining).
Provides asynchronous waiting for primary device selection with timeout handling and proper cleanup mechanisms.
UnityUiInputRouter
Unity component responsible for routing input from specific devices to UI elements.
Manages device pairing with UI PlayerInput based on configured routing modes and primary device selection.
Supports primary-only routing and handles keyboard/mouse combinations according to configuration settings.
UnityUiPrimaryControllerManager
Unity component that manages UI controller routing policies based on game session mode.
Applies different routing strategies for SinglePlayer (all devices) vs LocalMultiplayer (primary device only).
Optionally auto-selects primary device at startup and provides dynamic policy application based on configuration.