Unity DestroyしてもGameObjectが消えない

Unity

結論

GameObjectをDestroyするようにする。

using UnityEngine;
using UnityEngine.UI;

public class Main : MonoBehaviour
{
    void Start()
    {
        // これだとだめ
        Destroy(this);
        // こっちが正しい
        Destroy(gameObject);
    }
}

経緯

年に1回ぐらいDestroyを書いているような気がするが、その都度意図した動きにならないことがほとんど。滅多に使わないので、コードの見た目的に問題ないよう見えてしまうのが辛い。来年以降のためにメモ。

まとめ

GameObject以外のコンポーネントを消したいと思ったことは無いが、何らかの良い用法があるのだろうか。(歴史的経緯で)いらないコンポーネントはenable=falseで対応しているが、他にも小技があるかもしれない。

コメント