Up to date

This page is up to date for Godot 4.1. If you still find outdated information, please open an issue.

SceneTreeTimer

Inherits: RefCounted < Object

One-shot timer.

Description

A one-shot timer managed by the scene tree, which emits timeout on completion. See also SceneTree.create_timer.

As opposed to Timer, it does not require the instantiation of a node. Commonly used to create a one-shot delay timer as in the following example:

GDScriptC#

  1. func some_function():
  2. print("Timer started.")
  3. await get_tree().create_timer(1.0).timeout
  4. print("Timer ended.")
  1. public async Task SomeFunction()
  2. {
  3. GD.Print("Timer started.");
  4. await ToSignal(GetTree().CreateTimer(1.0f), SceneTreeTimer.SignalName.Timeout);
  5. GD.Print("Timer ended.");
  6. }

The timer will be dereferenced after its time elapses. To preserve the timer, you can keep a reference to it. See RefCounted.

Note: The timer is processed after all of the nodes in the current frame, i.e. node’s Node._process method would be called before the timer (or Node._physics_process if process_in_physics in SceneTree.create_timer has been set to true).

Properties

float

time_left


Signals

timeout ( )

Emitted when the timer reaches 0.


Property Descriptions

float time_left

  • void set_time_left ( float value )

  • float get_time_left ( )

The time remaining (in seconds).