com.xmobitea.changx.mini-global-coroutine
v1.5.2
Published
Scene-hosted shared coroutine runner and main-thread action dispatcher for Unity.
Readme
XmobiTea GlobalCoroutine
Scene-hosted shared coroutine runner and main-thread action dispatcher for Unity.
AI Entry Points
Open the smallest file for the task:
| Need | Use |
| --- | --- |
| Quick package summary and routing | AI_USAGE.md |
| Start or stop a shared coroutine | AI_USE_RUN_COROUTINE.md |
| Run a callback after one or more end-of-frame passes | AI_USE_END_OF_FRAME.md |
| Queue a callback for Unity main-thread execution | AI_USE_MAIN_THREAD_QUEUE.md |
| Scene setup and lifecycle requirements | AI_SETUP.md |
| Exact signatures, returns, parameters, logs | AI_API_REFERENCE.md |
| Timing, queue, cancellation, feature flag behavior | AI_BEHAVIOR.md |
| Agent guardrails and maintenance checklist | AGENTS.md |
| Missing or conflicting docs | Runtime/GlobalCoroutine.cs |
Provides
GlobalCoroutine : Singleton<GlobalCoroutine>- Shared
StartCoroutine(...)host for code without its ownMonoBehaviour - Main-thread action queue drained from
Update() - End-of-frame delayed callback helper
Required Setup
- Add an active
GlobalCoroutinecomponent to a loaded scene. - The GameObject name is conventional only; code requires the component, not a specific object name.
- Call static APIs only after the singleton cache has initialized, normally after the host
Awake(). - Add
XmobiTea.MiniSingleton.DontDestroyonly when the host must survive scene loads. - Keep the host active and the component enabled while queued callbacks need to run.
See AI_SETUP.md for exact setup rules.
Common Calls
using XmobiTea.MiniGlobalCoroutine;
Coroutine running = GlobalCoroutine.Run(IEWork());
GlobalCoroutine.Stop(running);
GlobalCoroutine.RunAfterEndOfFrame(() => DoWork(), frameCount: 1);
GlobalCoroutine.RunOnMainThread(() => TouchUnityObjects());Hard Limits
- No auto-created host object.
- Static APIs fail while
GlobalCoroutine.isExists == false, even if a matching scene object already exists but has not initialized yet. StopAll()only stops coroutines running on theGlobalCoroutinehost.StopAll()does not clear actions already queued forUpdate().RunAfterEndOfFrame(..., useRunActionOnMainThread: true)waits first, then queues for a laterUpdate().- Queue APIs require
useRunActionOnMainThreadFeature == true. - Queued actions pause while the host is inactive/disabled and are lost if that host is destroyed.
Runtime File
Runtime/GlobalCoroutine.csPackage Metadata
- Package:
com.xmobitea.changx.mini-global-coroutine - Runtime assembly:
com.xmobitea.changx.mini-global-coroutine.runtime - UPM dependencies:
com.xmobitea.changx.app,com.xmobitea.changx.mini-singleton - Namespace:
XmobiTea.MiniGlobalCoroutine - Unity:
2022.3 - License:
Apache-2.0
