You can easily increment a timer variable in a _process(delta) function. Adding delta to a value will cause that value to increase by 1 per second. You can multiply this by a value to get different “speeds” and prevent time from increasing with an if check to pause time.
var time = 0
var time_mult = 1.0
var paused = false
func _ready():
set_process(true)
func _process(delta):
if not paused:
time += delta * time_mult
So simple and elegant. Thanks a tonne… Much appreciated.