Timer

    A countdown timer.

    Counts down a specified interval and emits a signal on reaching 0. Can be set to repeat or “one-shot” mode.

    Note: To create a one-shot timer without instantiating a node, use .

    Tutorials

    Methods

    bool

    ( ) const

    void

    start ( time_sec=-1 )

    stop ( )

    • timeout ( )

    Emitted when the timer reaches 0.

    Enumerations

    enum TimerProcessMode:

    • TIMER_PROCESS_PHYSICS = 0 —- Update the timer during the physics step at each frame (fixed framerate processing).

    • TIMER_PROCESS_IDLE = 1 —- Update the timer during the idle time at each frame.

    If true, the timer will automatically start when entering the scene tree.

    Note: This property is automatically set to after the timer enters the scene tree and starts.


    Default

    false

    Setter

    set_one_shot(value)

    Getter

    is_one_shot()

    If true, the timer will stop when reaching 0. If false, it will restart.


    • paused

    If true, the timer is paused and will not process until it is unpaused again, even if start is called.


    • process_mode

    Default

    1

    Setter

    set_timer_process_mode(value)

    Getter

    get_timer_process_mode()

    Processing mode. See TimerProcessMode.


    • time_left

    The timer’s remaining time in seconds. Returns 0 if the timer is inactive.

    Note: You cannot set this value. To change the timer’s remaining time, use start.


    • wait_time

    Default

    Setter

    set_wait_time(value)

    Getter

    get_wait_time()

    The wait time in seconds.

    Note: Timers can only emit once per rendered frame at most (or once per physics frame if process_mode is ). This means very low wait times (lower than 0.05 seconds) will behave in significantly different ways depending on the rendered framerate. For very low wait times, it is recommended to use a process loop in a script instead of using a Timer node.

    Method Descriptions

    • is_stopped ( ) const

    Returns true if the timer is stopped.


    • void start ( float time_sec=-1 )

    Starts the timer. Sets wait_time to time_sec if time_sec > 0. This also resets the remaining time to wait_time.

    Note: This method will not resume a paused timer. See .