UGIPS_InputSystemComponent is the Pawn-level runtime entry point for GIPS. It binds configured Input Actions when an Enhanced Input Component is ready, manages the mapping context, dispatches tagged input, and exposes event and buffering APIs.
Owner and binding lifecycle
This component supports APawn owners only. It sets up or cleans up bindings when the Pawn restarts or its controller changes. For local players, the mapping context is added to UEnhancedInputLocalPlayerSubsystem using InputPriority. Do not attach the component to a PlayerController or AIController.
Local-player binding requires a valid UEnhancedInputComponent. For every valid action in InputConfig, the component binds Started, Triggered, Ongoing, Completed, and Canceled. If an action or tag is missing, check the asset configuration and editor validation messages.
Component properties
Property | Purpose |
|---|---|
| Required |
| Optional Enhanced Input mapping context. When set, the component adds it to the local-player subsystem and removes it during cleanup. |
| Priority used when adding that mapping context. |
| Must contain at least one valid setup; the last entry is current. |
| Disabled by default. When enabled, skips GIPS internal checks, buffering, and processors. |
| Retention limit for passed, blocked, and buffered input history. Defaults to 5; editor range is 0–10. |
InputConfig and action values
InputActionMappings maps an input Gameplay Tag to a UInputAction. Each entry has a bValueBinding option, enabled by default, that controls whether the component binds the action value. GetInputActionValueOfInputTag reads the current bound value; GetLastInputActionValueOfInputTag reads the value recorded for the latest event with that tag.
Listening to events
For every valid tagged input callback, the component broadcasts OnReceivedInput (Blueprint) and OnReceivedInputNative (C++) after the internal path runs. A listener therefore still receives a tagged event when a checker blocks it or the input is buffered. Do not treat this broadcast as proof that permission passed.
The ListenInputEvent async node can filter by tag, trigger phase, normal or buffered events, and exact or hierarchical tag matching. Exact matching and normal events are the defaults. Cancel the async action when the state ends or the listener is no longer needed.
Reading values in Blueprint
To read the current Enhanced Input Action value by tag, keep bValueBinding enabled for that mapping and ensure the local Enhanced Input Component has been bound. The getter returns a default value when no binding or valid action is available.
External processing
With bProcessingInputExternally enabled, GIPS does not call the current InputControlSetup checkers, buffering flow, or processors. It still records the last action value and broadcasts input events. Use this when migrating to a project-owned handling path; leave it disabled if GIPS permissions and buffering are still required.
Related pages
- Quick Start and Integration: create configuration assets and add the component to a Pawn.
- Input Control Setup: permission checks and processor execution.
- Input Buffering System: configure and manage buffer windows.
- Debugging Guide: inspect logs and input records.