RealDocs

UKismetSystemLibrary::K2_SetTimerDelegate

function Engine Blueprint Since 4.0
#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.

Version History

Introduced in: 4.0

Version Status Notes
5.6 stable

Feedback

Was this helpful?

Suggest an edit

Select a field above to begin editing.