UKismetSystemLibrary::K2_SetTimerDelegate
#include "Kismet/KismetSystemLibrary.h"
Access: public
Specifiers: staticUFUNCTIONBlueprintCallable
Description
Sets a timer that fires a bound event (a Custom Event or K2 function) after a delay. This is the Blueprint 'Set Timer by Event' node, appears in Blueprint as 'Set Timer by Event' via its DisplayName.
Caveats & Gotchas
- • Setting a timer against a Delegate that already has an active timer resets and replaces it with the new parameters rather than creating a second concurrent timer.
- • The returned FTimerHandle is required to clear, pause, or query the specific timer later by handle — losing it (e.g. not storing it in a variable) leaves the timer running with no direct reference.
- • Unlike C++ FTimerManager::SetTimer, this variant binds to a dynamic multicast-style delegate rather than a raw UFUNCTION pointer, so it only works with functions that can be represented as Blueprint-callable events.
Signature
static FTimerHandle K2_SetTimerDelegate(UPARAM(DisplayName="Event") FTimerDynamicDelegate Delegate, float Time, bool bLooping, bool bMaxOncePerFrame = false, float InitialStartDelay = 0.f, float InitialStartDelayVariance = 0.f); Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| Delegate | FTimerDynamicDelegate | Event to execute — a K2 function or Custom Event bound as a dynamic delegate. Shown as 'Event' in Blueprint. | — |
| Time | float | Seconds to wait before firing. Setting an existing timer to <= 0 seconds clears it. | — |
| bLooping | bool | If true, the delegate fires repeatedly every Time seconds instead of just once. | — |
| bMaxOncePerFrame | bool | For looping timers, whether to fire only once when the timer would otherwise expire multiple times in a single frame. | false |
| InitialStartDelay | float | Extra one-time delay, in seconds, added before the timer manager starts counting. | 0.f |
| InitialStartDelayVariance | float | Random variance added to InitialStartDelay, in seconds, useful for staggering many timers so they don't all fire in sync. | 0.f |
Return Type
FTimerHandle Example
Fire a custom event every 2 seconds (Blueprint) Blueprint
Event graph: bind a Custom Event 'OnTick2Seconds' to the Event input pin of Set Timer by Event, with Time = 2.0 and Looping = true; store the returned Timer Handle in a variable for later use with Clear Timer by Handle. See Also
Tags
Version History
Introduced in: 4.0
| Version | Status | Notes |
|---|---|---|
| 5.6 | stable | — |
Feedback
Was this helpful?