NoMoreoutine
A downloadable asset pack
Coroutines are clunky, limiting and just plain confusing for new developers. Throwing everything into your game’s Update() loop can be very inefficient and impact your games performance. Sure, you can use C#’s built in features async/ await but can be tricky to get working with Unity’s GameObjects and is geared more towards I/O-bound tasks. So where does that leave us?
NoMoreoutine!
NoMoreoutine puts a new spin managing timers in Unity. Under the hood we still utilize Unity’s preferred method for timers, which is coroutines but the developer never has to call a coroutine manually. That’s right, no more clunky code. Turn this:
StartCoroutine(MyTimer(2.0f)); private IEnumerator MyTimer(float delayTime) { yield return new WaitForSeconds(delayTime); Debug.Log("Hello, World!"); } |
Into this:
TimeManager.Start(2f, () => { Debug.Log("Hello, World!"); }); |
But even better, NoMoreoutine can save timers between player sessions!
Say you have a player who you want to have an action happen to after 1 hour of gameplay. What if that player plays for 30 minutes and turns off your game? The player shouldn’t be punished for having to log off. With NoMoreoutine your timers can save between sessions!
TimeManager.StartChain("MyTimer") .WaitForSeconds(3600f, () => { Debug.Log("Hello, World!"); }) .SaveProgress() // Read timer progress between sessions .Execute(); |
And just like that, your time will resume. And there are many other settings as well!
Published | 2 days ago |
Status | Released |
Category | Assets |
Author | iamtravisw |
Tags | Asset Pack, Unity |
Install instructions
Download the Unity.asset file and drag it into a project. Then you can follow the documentation to call the TimeManager.
Leave a comment
Log in with itch.io to leave a comment.