ニュース

Top  >   15. C#とMonoBehaviour  >   Q, Destroy()でオブジェクトを消した直後にアクセスしてエラーになる

Q, Destroy()でオブジェクトを消した直後にアクセスしてエラーになる

2026/03/19

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

A,結論

Destroyはフレーム終端で実行されます。

原因 / 背景

  • C# の基本エラーは、参照未設定、型の違い、呼び出し順、名前空間不足が原因になりやすいです。
  • エラー文そのものより、どのタイミングで発生し、どの設定や参照が関係しているかを追うことが重要です。

実装 / 手順

  1. nullチェックやSetActive(false)の併用を検討してください。
  2. Console のエラー行を開き、対象スクリプトの参照・型・メソッド名・using を確認してください。

サンプルコード

using UnityEngine;

public class DestroyObjectExample : MonoBehaviour
{
    [SerializeField] private GameObject targetObject;

    private void Start()
    {
        if (targetObject != null)
        {
            Destroy(targetObject, 2f);
        }
    }
}

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

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

Level 1-2 向けバナー