Snog's Timer Manager is a lightweight, flexible, and user-friendly timer system for Unity. Designed to be intuitive and efficient, it allows you to create, manage, and visualize timers with minimal setup — whether you’re working in the editor or building for runtime.
This system is perfect for handling timed events, cooldowns, puzzle logic, animation triggers, or anything that needs reliable time control.
-
Action-Based Callbacks
The manager now usesSystem.Actioninstead ofUnityEvent, offering faster performance and cleaner code. You can still use UnityEvents in scenes through a helper component if needed. -
Full Runtime Control
Pause, resume, stop, or remove timers individually or in bulk. -
Editor Integration
The custom inspector displays active timers, smooth progress bars, and control buttons during play mode. -
Lightweight and Clean API
Built for clarity and performance.
- GameTimer: The runtime class representing a single timer with duration, looping, and completion callback.
- TimerManager: Singleton that creates, updates, and controls all active timers.
Drag the Snog/TimerManager folder into your Unity project.
- Create an empty GameObject and add the
TimerManagercomponent. - It automatically persists and manages timers across scenes.
TimerManager.Instance.CreateTimer("MyTimer", 5f, false, () => Debug.Log("Timer done!"));TimerManager.Instance.PauseTimer("MyTimer");
TimerManager.Instance.ResumeTimer("MyTimer");
TimerManager.Instance.StopTimer("MyTimer");
TimerManager.Instance.RemoveTimer("MyTimer");TimerManager.Instance.PauseAllTimers();
TimerManager.Instance.ResumeAllTimers();
TimerManager.Instance.StopAllTimers();Q: Will this work in builds?
Yes! It will work on builds.
Q: Are UnityEvents supported?
Not directly — the system uses Actions for performance and simplicity.
Q: Can I add new timers at runtime?
Absolutely. Just call CreateTimer() with any ID and duration.
Q: Can I safely remove timers?
Yes, call RemoveTimer("TimerID") to remove it.
This project is licensed under the MIT License. See the LICENSE file for details.