18 · Combat · 2D and 3D

Cooldowns

The wait before an ability can be used again.

Cooldowns stop players spamming the best move and give each ability a rhythm. The classic bug is counting the wait in frames: on a 144 Hz screen 30 frames is a fifth of a second, so the same weapon fires more than twice as fast as on 60 Hz. Count in seconds instead.

Space hold to fire123 30 / 60 / 144 fpsM seconds / framesHold  Fire 

Try this: Hold fire on Frames mode at 144 fps and watch the shots per second. Switch to Seconds and it is the same at every frame rate.

Shots per second 0.0Target 2.0

Hold fire.

Prompt bit

Works for 2D or 3D in any engine (Unity, Unreal, Godot, web). Paste the short one for a quick fix, or the detailed one when you want it done properly.

Add cooldowns measured in seconds, not frames: store the time each ability becomes ready, block use until the game clock passes it, default 0.5 s, and keep the clock running during menus only if intended, so pausing cannot be used to skip a cooldown.

44 words · one sentence to paste as is

Where it's used

Common mistakes

Counting cooldowns in frames (faster on high refresh screens), using real-world time so pause skips cooldowns, resetting the timer when a press is refused, and not showing the remaining time so players think the button is broken.

Writing this with an AI assistant? See our best AI coding assistants for game developers.

Missing a concept? Request one.

Related concepts

New concepts, in your inbox.

One short email when we add new concepts, plus our weekly roundup of AI tools for game devs. Unsubscribe any time.