Skip to content
Back to wiki

Debugging Guide

Use LogGIPS, the GenericInputSystem Gameplay Debugger category, and component debug options to inspect accepted, blocked, and buffered input.

A

Author

Author

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

Table of contents

GIPS provides two diagnostic layers: LogGIPS permission logs filtered by the current input setup, and active-window/input-record views in Gameplay Debugger. Start by checking the log level, then confirm the current Pawn, InputConfig, and InputControlSetup.

Set the log level

Set the log category in the project DefaultEngine.ini. Verbose shows permission results; also enable bEnableInputDebug on the current InputControlSetup and optionally narrow the output with DebugInputTags and DebugTriggerEvents. Setting the category to VeryVerbose also prints each action callback with its tag, trigger phase, and action value.

plaintext
[Core.Log]
LogGIPS=Verbose //Also checked "enable debug" in your InputControlSetup.
;LogGIPS=VeryVerbose 

An empty debug tag or phase list does not filter on that field. Logs can show whether input passed, was blocked, or was buffered. To find which custom Checker rule rejected it, inspect the current Actor tags and that Checker configuration.

Use Gameplay Debugger

GIPS registers a category named GenericInputSystem. Enable that category in Unreal Gameplay Debugger. It displays the debug Pawn, current InputConfig, current InputControlSetup, window state, and latest buffered input.

  • Shift+1: toggle active buffer windows.
  • Shift+2: toggle passed input records.
  • Shift+3: toggle blocked input records.
  • Shift+4: toggle buffered input records.

Input records include a tag and trigger phase. They help confirm whether an event reached the component and whether it was buffered or blocked. MaxInputEntriesNum controls the number retained for each record type; it defaults to 5 and is capped at 10. Records do not store the full Checker rejection reason.

Common checks

  1. Confirm the component is on a Pawn and the local player Enhanced Input Component has been set up.
  2. Confirm the Gameplay Tag, Input Action, and mapping context in InputConfig are valid.
  3. Confirm the component has at least one valid InputControlSetup and inspect the setup at the top of its stack.
  4. If the event broadcasts but no processor runs, check bProcessingInputExternally, Checker rules, and Processor tag/phase filters.
  5. If a pre-input does not release, check bEnableInputBuffer on the current setup, whether the window is active, and whether AllowedInputs contains the tag and phase.
  • Input System Component: event and value behavior.
  • Input Control Setup: checker and processor filters.
  • Input Buffering System: window and release conditions.