この記事でのバージョン
Unity 2022.2.2f1
はじめに
Unityで以下のような感じのコードを書くとCS0649という警告が出るので、
nullやdefaultを代入しておくというやり方がよくありました。
//Inspector上でPrefabを設定 [SerializeField] private GameObject _prefab;//初期化されてないのでCS0649で警告 private void Start() { //Prefabからインスタンス作成 var instance = GameObject.Instantiate(_prefab); }
Assets/NewBehaviourScript.cs(10,22): warning CS0649: Field 'NewBehaviourScript._prefab' is never assigned to, and will always have its default value null
しかし最近この警告見なくなったな〜と思ったら、
ピンポイントでこのCS0649とCS0169の警告だけを出さないようにする設定が追加されていました。
なお設定はEdit/Project Settings...にある、
PlayerのSuppress Common Warningsにチェックを入れると有効になります。(デフォルトで有効)
ちなみにもう一つのCS0169は一度も参照されていない(使われていない)変数に対する警告です。
//Inspector上でPrefabを設定 [SerializeField] private GameObject _prefab;//一度も使われていないのでCS0169で警告 // private void Start() { // //Prefabからインスタンス作成 // var instance = GameObject.Instantiate(_prefab); // }
Assets/NewBehaviourScript.cs(10,22): warning CS0169: The field 'NewBehaviourScript._prefab' is never used