mcpField
U
unity-async

unity-async

github.com/besty0728開発1.9k80 回インストール今日更新
リポジトリ

unity-async について

unity-async は、Unity ランタイム処理のスケジューリングと後始末を選ぶためのドキュメントスキルです。イベント、コルーチン、UniTask、Update を比較し、ライフサイクル管理とキャンセルも扱います。

主な機能

  1. 01イベント、コールバック、明示的呼び出しの選択
  2. 02短い処理でのコルーチン選択
  3. 03UniTask を使う条件の判断
  4. 04継続ループでの Update の利用
  5. 05ライフサイクル管理とキャンセルの指針

活用シーン

  1. 01Unity タスクの実行方式の選定
  2. 02キャンセルと後始末の計画
  3. 03不要な毎フレーム Update の削減

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/besty0728/unity-skills --skill unity-async

インストール後、Claude Code で/unity-asyncを入力して読み込まれたか確認します。

詳細

このモジュールのスキルを呼び出す前に: 名前や説明から推測したパラメーターを使ってスキルを呼び出そうとしている場合は、いったん停止してください。まずこのファイルを読むか、GET /skills/recommend?includeSchema=true でスキーマを取得してください。recommend/schema ですでにパラメーター定義を確認している場合は、そのまま dryRun に進んでかまいません。

トリガー

  • Update/コルーチン/UniTask/タイマーの選択
  • キャンセルとクリーンアップの処理
  • Update/コルーチン/UniTask/タイマーの選択、キャンセルとクリーンアップの処理

Unity 非同期処理の方針

対象範囲:このモジュールで扱うのは、Unity ランタイムに記述する非同期コード(Update、コルーチン、UniTask、キャンセル、ライフサイクル上の所有権)です。REST プロトコル自体の非同期ジョブは対象外です。jobId/ポーリング/job_status/GET /jobs/{id} については、batch を参照してください。

ランタイム処理のスケジュール設定やクリーンアップの方法をユーザーが決める際に、このスキルを使用してください。

ガードレール

モード:ドキュメントのみです。制限対象となる REST スキルはありません。どの動作モード(Approval/Auto/Bypass)でも自由に読み込めます。

  • コルーチンより高度に見えるという理由だけで、UniTask を推奨しないでください。
  • ユースケースに合った、最もシンプルなスケジューリングモデルを優先してください。

判断の手順

  1. まず、そのタスクで毎フレームの処理が本当に必要かを確認します。
  2. 必要でない場合は、イベント、コールバック、または明示的なメソッド呼び出しを優先します。
  3. Unity に紐づく短い一連の処理が必要な場合は、コルーチンを優先します。
  4. UniTask を推奨するのは、次のいずれかに該当する場合に限ります。
    • プロジェクトですでに使用している場合
    • ユーザーが明示的に希望し、依存関係の追加を受け入れる場合
  5. イベント駆動にできない真の連続シミュレーション、ポーリング、または入力ループに限り、Update を使用します。

個別の指針

  • よりイベント駆動のフローで対応できる場合は、無関係な Update メソッドを多数作らないでください。
  • 頻繁に実行される処理で使う参照はキャッシュしてください。
  • ライフサイクル上の所有権を必ず明確にしてください。
    • 誰が処理を開始するか
    • 誰がキャンセルまたは停止するか
    • いつクリーンアップするか
  • MonoBehaviour では、登録と解除を対称に行うため、OnEnable/OnDisable/OnDestroy を優先してください。
  • IDisposable は主に、純粋な C# のライフタイム、一時的なサブスクリプション、またはスコープベースのクリーンアップヘルパーに使用してください。Unity のライフサイクルメソッドの代わりに、慣例だけで使用しないでください。

出力形式

  • 推奨するスケジューリングモデル
  • 適している理由
  • ライフサイクル/キャンセルの所有者
  • 頻繁に実行される処理でのリスク
  • 該当する場合は、より複雑な代替手段が不要な理由

コメント