unity-async

Guides selection among Update, coroutines, UniTask, and timers for Unity async scheduling.

2|Updated May 18, 2026
One-click install
npx skills add https://github.com/pcone-mm/NewFPG --skill unity-async-pcone-mm
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: unity-async
Source: https://github.com/pcone-mm/NewFPG/tree/main/.agents/skills/unity-skills/skills/async
Command: npx skills add https://github.com/pcone-mm/NewFPG --skill unity-async-pcone-mm

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Unity developers often struggle to choose the right async and lifecycle strategy, overusing Update loops or adopting UniTask without justification, leading to messy lifecycle management and cancellation bugs. ## Core Features & Use Cases - Decision Ladder: Walks through whether per-frame work is needed at all, then narrows to events, coroutines, UniTask, or Update based on the actual use case. - Lifecycle Ownership Guidance: Defines who starts, cancels, and cleans up async work, with subscribe-unsubscribe symmetry via OnEnable/OnDisable/OnDestroy. - Use Case: When a developer asks "should I use a coroutine or UniTask for this delay?", the skill evaluates project context and recommends the simplest fitting model with clear cancellation ownership. ## Quick Start Ask the skill whether you should use a coroutine or UniTask for scheduling a delayed action in your Unity MonoBehaviour.

Frequently Asked Questions about unity-async

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

FAQPage Schema
Should I use coroutines or UniTask in Unity?

Prefer coroutines for short Unity-bound sequences when the project does not already use UniTask. Choose UniTask only if the project already depends on it or you explicitly accept the dependency, since it is not inherently better than coroutines.

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 work does not need per-frame execution, prefer events, callbacks, or explicit method calls to avoid scattered Update methods.

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

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

When is IDisposable appropriate in Unity projects?

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

What are the performance risks of Unity async patterns?

Hot-path risks include many unrelated Update methods and uncached references in frequently executed code. Cache references used in hot paths and prefer event-driven flows over polling where possible.