Unity

Unity DestroyしてもGameObjectが消えない

結論

GameObjectをDestroyするようにする。

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

経緯

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

まとめ

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

スポンサーリンク

スポンサーリンク