Coroutine of active=false object

are coroutines shut down when an object becomes active=false?

depends on a variety of circumstances. The coroutine is associated with the object that called the coroutine, not necessarily the object that has the script containing the coroutine on it.

If you call the coroutine from the object that is now active, than yes, it will be canceled when the object is deactivated, and will throw and error if called on an inactive object.

Also, the active / inactive state of the object where the coroutine is executed influences it. There is no guarantee that coroutines are started on inactive objects as inactive objects are considered “inexistant” and you don’t want to execute stuff on inexistant.

So rethink your “inactive management” and if you really wanted to disable the whole GO and not just specific components like collider and renderer

Yes when an object is getting deactivated, scripts on it cannot call StartCoroutine.
I moved the coroutines to an external object that doesn’t get inactivated.
Thanks.