GIPS buffering saves a tag and trigger phase in an active window when the current permission setup rejects an input, then sends it to the current processor chain immediately or when the window closes. It does not define combo logic, action duration, or animation notifies for your game.
Define a window
In InputBufferDefinitions on UGIPS_InputConfig, configure a Tag, BufferType, and AllowedInputs for each window. An allowed entry can restrict the input tag and TriggerEvents; an empty phase list allows any phase for that tag. Window tags must be valid and unique.
Window policies
| Behavior |
|---|---|
| Each active window keeps the latest matching input and releases it when that window closes. |
| Releases a matching input as soon as it arrives, then closes every active window. |
| The declared intent is to prefer entries earlier in |
Window lifecycle and concurrency
Manage windows with OpenInputBufferWindow(WindowTag) and CloseInputBufferWindow(WindowTag). The tag must already be defined in InputConfig. The component supports several different windows at once; one rejected input can be recorded by each active window that allows it.
When a window closes with a buffered input, GIPS sends that input directly to the processor chain on the InputControlSetup that is current at release time. It does not run permission checkers again, and releasing the input closes every active window. Closing an empty window closes only the requested window. StateTree also provides GIPS Buffer Window Scope plus listen and wait tasks.
When input is buffered
Buffering only occurs on the internal processing path: the current setup must reject the input, bEnableInputBuffer must be enabled, and an active window must allow the input tag and phase. Inputs that pass permission go directly to processors. bProcessingInputExternally skips both checks and buffering.
A buffer window has no duration field, and GenericInputSystem does not provide an ANS_GCS_InputBufferWindow animation notify. Use project logic, Blueprint, animation flow, or StateTree to call the open and close APIs at the intended times.
Practical guidance
- Use
LastInputto release the latest pre-input at the end of a window andInstantfor immediate response during a window. - Keep windows active only for the gameplay interval that needs them. Releasing a buffered input from any active window closes all active windows.
- If strict priority semantics are required, validate or correct the current
HighestPriorityimplementation first. UseLastInputorInstantfor behavior that is verified today.
Related pages
- Input Control Setup: enable buffering and configure permission rules.
- Input System Component: window APIs, events, and value access.
- Quick Start and Integration: create and assign configuration assets.
- Debugging Guide: inspect active windows and buffered records.