2 min read

Source: Roblox Creator Hub · CC BY 4.0 · View source · Code samples: MIT Imported 2026-10-03. Formatting adapted for this site.

Task scheduler

The task scheduler coordinates tasks done each frame as the game runs, even when it is paused. These tasks include detecting player input, animating characters, updating the physics simulation, and resuming scripts in a task.wait() state.

While there may be multiple tasks running, the task scheduler can potentially be overloaded, especially in the following situations:

RunService

The most direct way to add frame-by-frame tasks is through the following members of RunService:

Scheduler priority

The task scheduler categorizes and completes tasks in the following order. Some tasks may not perform work in a frame, while others may run multiple times.

* Script execution during RunService.Heartbeat differs depending on your game's Workspace.SignalBehavior setting. See Deferred events.

Best practices

To build performant games with efficiency in mind, note the following: