Hi,
There's few signals you can use on timers. Such as:
func _on_Timer_tree_entered() -> void:
print("Tree entered")
func _on_Timer_ready() -> void:
print("Timer ready")
func _on_Timer_timeout() -> void:
print("Timer done")
$Timer.queue_free()
func _on_Timer_tree_exiting() -> void:
print("Tree exiting")
func _on_Timer_tree_exited() -> void:
print("Tree exited")
Once the queue_free()
is executed the timer leaves the scene. You can see this by running your code and clicking on the Remote nodes to view the running nodes.
If you don't free it up, it will hang around.