Recommendation
Use events when work follows a state change, timers for delayed or periodic calls, timelines for finite keyed interpolation, and Tick only for frame-dependent updates.
Compare the options
Event
Choose when
- Another system can announce exactly when the state changes.
- No work is needed between changes.
Tradeoffs
- The event source and subscription lifetime must be clear.
- Missed bindings can leave listeners out of date.
- Blueprint
- Use an engine event, custom event, interface call, or Event Dispatcher binding.
- C++
- Use a function call, delegate, or engine callback.
Timer
Choose when
- An action runs after a delay.
- Work repeats at a fixed interval without needing every frame.
Tradeoffs
- The Timer Manager services calls between frames.
- A Timer is not a substitute for frame-by-frame integration.
- Blueprint
- Use Set Timer by Event or Set Timer by Function Name and keep the Timer Handle when control is needed.
- C++
- Use FTimerManager, FTimerHandle, SetTimer, and SetTimerForNextTick.
Timeline
Choose when
- A short value, transform, color, or event sequence follows authored keys.
- The sequence needs play, stop, loop, or reverse controls.
Tradeoffs
- A Timeline suits local time-based behavior, not general scheduling.
- Long or cinematic sequences belong in Sequencer.
- Blueprint
- Use a Timeline node with float, vector, color, or event tracks.
- C++
- Use UTimelineComponent or FTimeline.
Tick
Choose when
- The result depends on every frame delta.
- The update follows current transforms, physics, or camera state.
Tradeoffs
- Work scales with every ticking instance.
- Tick groups and dependencies affect ordering.
- Blueprint
- Use Event Tick and configure tick interval or enable state where possible.
- C++
- Use Tick, TickComponent, PrimaryActorTick, or PrimaryComponentTick.
Requirements
All four options are built into the Engine.
Example
Use an overlap event to start a door Timeline. Use a Timer for poison damage once per second. Use Tick for a laser trace that must follow the current camera every frame.