# API Reference

AfterPrime Systems | AP Timer Suite

This page describes the Blueprint-visible API categories and their authority rules.


# Debug

Any Side

Method Description
IsDebugDrawEnabled Returns whether debug draw is currently active.
SetDebugDrawEnabled Enable or disable debug draw.
RefreshDebugDraw Force a debug draw refresh.

# Management

Server Only

Method Description
AddTimer(Tag) Create/ensure a timer entry.
RemoveTimer(Tag) Remove timer entry and clear server handles.
ClearTimer(Tag) Clear timer (manual stop semantics).
ClearAllTimers() Clear all timers and server handles.

# Control

Server Only

Method Description
StartTimerSimple(Tag, Duration, StartDelay, bLooping) Convenience start with basic parameters.
StartTimerAdvanced(Tag, Params) Full start with thresholds, range, and delay.
PauseTimer(Tag) Pause a running timer.
ResumeTimer(Tag) Resume a paused timer.
PauseAllTimers() Pause all active timers.
ResumeAllTimers() Resume all paused timers.

# Query

Any Side

Method Returns Description
HasTimer(Tag) bool Check if a timer entry exists.
IsTimerActive(Tag) bool Check if a timer is currently running.
IsTimerPaused(Tag) bool Check if a timer is paused.
GetRemainingTime(Tag) float Seconds remaining on the timer.
GetRemainingRatio(Tag) float Remaining time as a 0.0–1.0 ratio.
GetElapsedTime(Tag) float Seconds elapsed since timer started.
GetElapsedRatio(Tag) float Elapsed time as a 0.0–1.0 ratio.
GetTimerSnapshot(Tag, OutSnapshot) bool Full snapshot of a specific timer's state.
GetAllTimerSnapshots(OutSnapshots, IncludeInactive, FilterQuery) All timer snapshots with filtering options.
GetAllTimers(OutTimers) All timer entries.
GetAllActiveTimers(OutTimers) Only currently active timer entries.

# Events

Server + Client

Event Fires When
OnTimerStarted(Tag) A timer begins running.
OnTimerPaused(Tag) A timer is paused.
OnTimerResumed(Tag) A paused timer resumes.
OnTimerThresholdReached(Tag, Ratio) A configured threshold ratio is crossed.
OnTimerFinished(Tag) Timer expires naturally (non-looping).
OnTimerCleared(Tag) Timer is cleared manually.
OnTimerRemoved(Tag) Timer entry is removed.
OnTimerEnded(Tag, Reason) Unified end event. Reason values below.

# OnTimerEnded Reason Values

Reason Description
ExpiredNaturally Timer reached zero without manual intervention.
ClearedManually Timer was cleared via ClearTimer.
Removed Timer entry was removed via RemoveTimer.

AfterPrime Systems — Building the Gameplay Foundation