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
StatusReleased
CategoryAssets
Authoriamtravisw
TagsAsset Pack, Unity

Download

Download
NoMoreoutine Documentation.pdf 193 kB
Download
NoMoreoutine.unitypackage 7.5 kB

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.