<?xml version="1.0" encoding="UTF-8" ?> <class name="SceneTreeTimer" inherits="RefCounted" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> One-shot timer. </brief_description> <description> A one-shot timer managed by the scene tree, which emits [signal timeout] on completion. See also [method 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: [codeblocks] [gdscript] func some_function(): print("Timer started.") await get_tree().create_timer(1.0).timeout print("Timer ended.") [/gdscript] [csharp] public async Task SomeFunction() { GD.Print("Timer started."); await ToSignal(GetTree().CreateTimer(1.0f), SceneTreeTimer.SignalName.Timeout); GD.Print("Timer ended."); } [/csharp] [/codeblocks] The timer will be dereferenced after its time elapses. To preserve the timer, you can keep a reference to it. See [RefCounted]. </description> <tutorials> </tutorials> <members> <member name="time_left" type="float" setter="set_time_left" getter="get_time_left"> The time remaining (in seconds). </member> </members> <signals> <signal name="timeout"> <description> Emitted when the timer reaches 0. </description> </signal> </signals> </class>