# Timer Inspector Overlay

The included UMG widget provides a real-time debug view of all active timers in a ListView interface with filtering and auto-refresh.


# Features

Feature Details
ListView UI Virtualized list — scales to any number of timers without performance degradation
Filtering Filter by tag substring + toggle to include/exclude inactive timers
Auto-refresh Timer-driven refresh at a configurable interval
Manual refresh Button to force an immediate snapshot update
Bootstrap init Retry logic to handle replication startup timing

# Integration

# Step 1 — Bind an Input Action

In your PlayerController, bind an input action (e.g., F9) using Enhanced Input to toggle the inspector overlay.

# Step 2 — Create the Widget

On toggle, the PlayerController creates the inspector widget and adds it to the viewport. Pass a reference to the Timer Suite component via InitializeWithTimerSuite.

# Step 3 — Pass the Component Reference

Once InitializeWithTimerSuite is called with the component reference, the widget will begin polling for snapshots automatically.


# Bootstrap Initialization

On initial load, the widget may open before replication delivers the first timer state. To handle this, implement a brief retry loop that polls GetAllTimerSnapshots until results are non-empty, then switches to normal auto-refresh.


# Recommended Refresh Rate

Set the auto-refresh interval to 0.25–0.5 seconds for a responsive display without excessive update overhead. See Performance Notes for more detail.


AfterPrime Systems — Building the Gameplay Foundation