メインコンテンツへスキップ
< すべてのトピックに戻る

「Coroutine couldn”t be started because the game object is inactive!」が出た場合は?

非表示(オフ)になっているオブジェクトに対して、コルーチン(非同期の待機処理)を開始しようとしました。

Unityの仕様として、SetActive(false)の状態になっているオブジェクトは時間経過やフレーム更新の計算を全てストップするため、コルーチンを動かす権限がないからです。

オブジェクトを SetActive(true)でオンにしてから StartCoroutine()を呼ぶか、ゲーム全体を管理する「常にオンになっている別のManagerオブジェクト」にコルーチンを実行させるよう設計を変更します。

目次

9周年キャンペーン実施中 早い申込みほど受講料がお得に