mcpbeat

Unity Async

besty0728/unity-async

Advises on Unity async and lifecycle strategy — choosing among Update, coroutines, UniTask, and timers, plus cleanup and cancellation. Use when deciding how to write async code, choosing between coroutine and UniTask, scheduling timers, or handling cancellation and cleanup, even if the user just asks "异步怎么写" or "用协程还是UniTask". 为 Unity 异步与生命周期策略提供建议(在 Update、协程、UniTask、定时器间取舍,以及清理与取消);当用户要决定异步代码怎么写、在协程与 UniTask 间选择、调度定时器或处理取消与清理时使用。

546 tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
1536
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/Besty0728/Unity-Skills --skill unity-async

The instruction itself

5 sections, as written by the author

Unity Async Strategy

Use this skill when the user is deciding how runtime work should be scheduled or cleaned up.

Guardrails

> Mode: Documentation only — no REST skills to gate; load freely under any operating mode (Approval / Auto / Bypass).

  • Do not recommend UniTask just because it looks more advanced than coroutine.
  • Prefer the simplest scheduling model that fits the use case.

Decision Ladder

  • First ask whether the task needs per-frame work at all.
  • If not, prefer events, callbacks, or explicit method calls.
  • If a short Unity-bound sequence is needed, prefer coroutine.
  • Recommend UniTask only when:
  • the project already uses it, or
  • the user explicitly wants it and accepts the dependency.
  • Use Update only for true continuous simulation, polling, or input loops that cannot be event-driven.

Specific Guidance

  • Avoid many unrelated Update methods if a more event-driven flow works.
  • Cache references used in hot paths.
  • Always define lifecycle ownership:
  • who starts the work
  • who cancels or stops it
  • when it is cleaned up
  • In MonoBehaviour, prefer OnEnable / OnDisable / OnDestroy for subscribe-unsubscribe symmetry.
  • Use IDisposable mainly for pure C# lifetimes, temporary subscriptions, or scope-based cleanup helpers, not as a cargo-cult replacement for Unity lifecycle methods.

Output Format

  • Recommended scheduling model
  • Why it fits
  • Lifecycle / cancellation owner
  • Hot-path risks
  • Why the heavier alternative is unnecessary, if applicable

How to use it

Copy the folder

Take besty0728/unity-async from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.