Coroutines that run about twice as fast as Unity's, with zero per-frame allocations, and a pile of functionality Unity never gave you. Run them anywhere with no MonoBehaviour, control them by tag, layer, or handle, chain and delay them, and reach into extra timing segments when you need them.
Built to drop in
MEC keeps Unity's familiar yield-return shape, so switching over is mostly find-and-replace. Add two using statements, swap StartCoroutine for Timing.RunCoroutine, and you immediately get a central runner that does not stop just because a GameObject was disabled or destroyed.
Why developers switch
No garbage generated each frame, and the infrastructure runs about twice as fast as Unity's. Rock solid under load.
No MonoBehaviour required. One central runner means coroutines keep going even when an object is disabled or destroyed, unless you choose otherwise with CancelWith.
Update, FixedUpdate, LateUpdate, and SlowUpdate out of the box. Pro adds Realtime, End-of-Frame, Late-Fixed, and Manual.
Identify coroutines individually or in groups, then pause, resume, or kill them in a single call. Move one to a different segment on the fly.
CallDelayed, CallPeriodically, CallContinuously, and WaitUntilDone cover the patterns you reach for constantly, without writing a coroutine for each.
Singletons, Delay, Append and Prepend, Superimpose, Hijack, handle properties, and OnDestroy callbacks for full control.
Editions
The free version is a complete, production-ready coroutine system. Full comparison in the docs.
A complete, faster coroutine system
Join the Digital Dust Discord for help migrating from Unity's coroutines, performance tips, and direct support.