Skip to content
Back to wiki

Input System Component

UGIPS_InputSystemComponent is GIPS's Pawn-level runtime entry point. It binds configured Input Actions when Enhanced Input is ready, manages mapping contexts, and dispatches tagged input.

A

Author

Author

Created: Apr 02, 2025Updated: Oct 19, 2026

Table of contents

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

InputConfig

Required UGIPS_InputConfig containing Gameplay Tag to Input Action mappings and buffer window definitions.

InputMappingContext

Optional Enhanced Input mapping context. When set, the component adds it to the local-player subsystem and removes it during cleanup.

InputPriority

Priority used when adding that mapping context.

InputControlSetups

Must contain at least one valid setup; the last entry is current.

bProcessingInputExternally

Disabled by default. When enabled, skips GIPS internal checks, buffering, and processors.

MaxInputEntriesNum

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.

  • 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.