Namespace Serenity.InputGateway.Infrastructure.Components
Classes
UnityInputActionInvoker
Drop-in component that maps Input System actions to methods on target scripts, invoking them when the input fires.
Conceptually mirrors Unity's built-in "PlayerInput → Invoke Unity Events" mode, but calls parameterless public methods
on referenced UnityEngine.Component instances (selected in the inspector) instead of serialized UnityEvents.
Actions are read from a sibling UnityEngine.InputSystem.PlayerInput component (resolved via UnityEngine.Component.GetComponentInParent``1),
so in local multiplayer each player only triggers its own callbacks: Unity hands every UnityEngine.InputSystem.PlayerInput a private
clone of the action asset, which keeps the bindings isolated per player.
UnityInputActionInvoker.ActionInvocation
A mapping between one action (by name, within the selected action map) and the list of methods to call, together with the input phase that triggers them.
UnityInputActionInvoker.MethodCall
A single method to call on a target script when an action fires.
The method must be public, instance-level and parameterless.
UnityInputRebindComponent
No-code interactive rebinding for a single Input System binding: lets players reassign a control at runtime
(the classic "press a key to rebind" settings row) without writing the rebinding boilerplate.
Drive it from UI: wire a button to StartRebind() and a "reset" button to ResetBinding();
the current binding text is pushed through Serenity.InputGateway.Infrastructure.Components.UnityInputRebindComponent.onBindingDisplayChanged (wire it to a TMP/UI text's
text setter), and Serenity.InputGateway.Infrastructure.Components.UnityInputRebindComponent.onRebindStarted / Serenity.InputGateway.Infrastructure.Components.UnityInputRebindComponent.onRebindStopped let you show a
"Press any key…" prompt.
UnityInputRebindComponent.BindingDisplayEvent
UnityEvent carrying the human-readable binding string (e.g. "Space", "Left Stick").
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.
UnityPlayerJoinOverlayComponent
On-screen panel that lists the players currently joined via the Input System — each slot's player index, control scheme, and devices — so a designer can see local-multiplayer joins happen while testing, instead of guessing from the Console.
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.
Enums
InputActionTriggerPhase
The input phase that triggers an invocation.
Mirrors the three Unity Input System callback events on an UnityEngine.InputSystem.InputAction.