unity-async

Advises on Unity async scheduling, cancellation, and lifecycle ownership strategy.

Updated Aug 18, 2026
One-click install
npx skills add https://github.com/ethanJPope/Our-Main-Hackathon-Game --skill unity-async-ethanjpope
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: unity-async
Source: https://github.com/ethanJPope/Our-Main-Hackathon-Game/tree/main/.agents/skills/unity-skills/skills/async
Command: npx skills add https://github.com/ethanJPope/Our-Main-Hackathon-Game --skill unity-async-ethanjpope

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Unity developers often struggle to choose between Update loops, coroutines, UniTask, and timers, leading to over-engineered async code, leaked subscriptions, and unclear cancellation ownership. ## Core Features & Use Cases - Decision Ladder: Walks through whether per-frame work is needed at all, then guides toward events, coroutines, UniTask, or Update based on the actual use case. - Lifecycle Ownership Guidance: Defines who starts, cancels, and cleans up async work, with MonoBehaviour OnEnable/OnDisable/OnDestroy subscribe-unsubscribe symmetry. - Use Case: When a developer asks whether to use UniTask or a coroutine for a timed gameplay sequence, this Skill recommends the simplest fitting model and explains why the heavier alternative is unnecessary. ## Quick Start Ask the assistant to recommend the right Unity scheduling approach for your runtime task, such as choosing between a coroutine and UniTask for a delayed ability cooldown.

Frequently Asked Questions about unity-async

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I choose between coroutine and UniTask in Unity?

Prefer a coroutine for short Unity-bound sequences, and use UniTask only when the project already depends on it or you explicitly accept the dependency. The simplest scheduling model that fits the use case should win.

When should I use Update versus events in Unity?

Use Update only for true continuous simulation, polling, or input loops that cannot be event-driven. If the task does not need per-frame work, prefer events, callbacks, or explicit method calls instead.

How do I handle cancellation and cleanup for Unity async work?

Always define lifecycle ownership: who starts the work, who cancels it, and when it is cleaned up. In MonoBehaviour, use OnEnable, OnDisable, and OnDestroy for subscribe-unsubscribe symmetry.

Should I use IDisposable instead of Unity lifecycle methods?

Use IDisposable mainly for pure C# lifetimes, temporary subscriptions, or scope-based cleanup helpers. It should not be a cargo-cult replacement for MonoBehaviour lifecycle methods like OnDisable and OnDestroy.

Does this skill cover Unity REST job polling with jobId?

No, this skill covers only async code written into the Unity runtime such as Update, coroutines, and UniTask. For jobId polling and job_status endpoints, refer to the separate batch skill module.