How efficient is this algorithm?

It really depends what you’re doing on tick, but tick is usually best avoided unless it’s something you actually need to happen every frame.

If you want something to tick when paused, why not just use a SetTimerByEvent. The whole blueprint can tick when paused ( it’s in the overall details ). Then you can set the timer to a reasonable amount rather than having it every tick.