Chapter 11

Ticking & Performance

What Tick actually costs, why Blueprint makes it worse, how to tier tick rates, and the event-driven alternatives.

In this chapter

  1. The Cost of Tick
  2. Blueprint vs. C++ Tick Cost
  3. Reducing Tick Frequency
  4. Disabling Tick
  5. Event-Driven Alternatives
1

The Cost of Tick

Tick runs every frame for every actor and component that has it enabled. Cost scales with count multiplied by per-frame work, so thousands of ticking actors — especially in Blueprint — is a classic performance killer.

The habit to build is asking "does this actually need to run every frame?" Most gameplay logic is event-driven, not continuous.

2

Blueprint vs. C++ Tick Cost

Both tick once per frame by default — the same frequency. The difference is overhead.

Blueprint Event Tick runs through the Blueprint VM, a bytecode interpreter, making it roughly 10–50× slower than equivalent C++ for the same logic. The cost comes from per-node virtual calls, parameter marshaling, and graph traversal.

So keep any genuinely per-frame work in C++, not Blueprint.


3

Reducing Tick Frequency

// C++ constructor
PrimaryActorTick.TickInterval = 0.1f; // ~10x/sec instead of every frame

In Blueprint: set ActorTickInterval in the Details panel, or call Set Actor Tick Interval at runtime.

The interval is a minimum, not precise timing. If a frame runs long, it just ticks next frame.

A tiered approach for AI

RateWhat belongs there
Every frameThings the player directly perceives — traces, movement
0.1–0.2sPerception checks, threat assessment
0.5–1.0sSquad coordination, pathing decisions
2–5sAmbient and idle-state decisions

4

Disabling Tick

PrimaryActorTick.bCanEverTick = false;   // constructor — never registers
SetActorTickEnabled(false);              // runtime toggle

bCanEverTick = false is cheaper than a runtime toggle, because the actor is never registered with the tick system at all — there's nothing to skip over each frame.

Disable tick when it isn't needed, rather than leaving it on by default.


5

Event-Driven Alternatives

Prefer reacting to events over polling every frame:

An AI-specific pitfall. Behavior Tree tasks and services already have their own tick and interval systems. Piling expensive logic into Event Tick on top of them is a common and avoidable perf problem.

Interview drill

Answer out loud before re-reading the chapter.

  1. What is the cost of Tick, and how do you avoid overusing it?
← Chapter 10 ↑ Index Chapter 12 →