That is what “delta seconds” is for. You multiply your value with it , it should give you increase or decrease per second.
For eg. you want +10 units per second, in event tick you multiply that +10 by “delta seconds”,
If you call it every tick then after 1 second it should be 10 more there.
However i never tested it really.
Instead i created “pulse event” (and dispatcher), i call it every 0.2 seconds. Then everything is easier to manage, and as fps in depended as that delta seconds thing.
I did it without timers, just branch on one of my event ticks (in player controller), and i use “game time seconds”, this way that dispatcher is affected by player in game time.
Also for most gui things calling that pulse 5 times per second is fine (it is exactly on that edge where you start notice that gui updates are laggy).