ニュース

Top  >   24. Audio  >   Q, コルーチン内でyield return new WaitForSeconds()が効かず、すぐに処理が完了する

Q, コルーチン内でyield return new WaitForSeconds()が効かず、すぐに処理が完了する

2026/03/19

メインコンテンツへスキップ
< すべてのカテゴリに戻る

A,結論

StartCoroutineを使わずに直接メソッドを呼んでいる可能性があります。

原因 / 背景

  • C# の基本エラーは、参照未設定、型の違い、呼び出し順、名前空間不足が原因になりやすいです。

実装 / 手順

  1. StartCoroutineを使わずに直接メソッドを呼んでいる可能性があります。
  2. Console のエラー行を開き、対象スクリプトの参照・型・メソッド名・using を確認してください。

サンプルコード

using System.Collections;
using UnityEngine;

public class WaitForSecondsExample : MonoBehaviour
{
    [SerializeField] private float delaySeconds = 2f;

    private void Start()
    {
        StartCoroutine(ExecuteLater());
    }

    private IEnumerator ExecuteLater()
    {
        yield return new WaitForSeconds(delaySeconds);
        Debug.Log("指定秒数の待機後に処理を実行しました。");
    }
}

※ 実機確認が必要な項目は、Editor だけで判断せず、対象デバイスでも必ず動作確認してください。

難易度:Level 2(初心者)
対象プラットフォーム:PC,Visual Studio,Unity
関連キーワード:C#,aca

Level 1-2 向けバナー