(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

(:3[kanのメモ帳]


本ブログの運営者kan.kikuchiが個人で開発したゲームです!

    

CS0649(初期化されていないフィールド)とCS0169(一度も参照されない変数)の警告だけを消すsuppressCommonWarningsという設定【Unity】


このエントリーをはてなブックマークに追加


この記事でのバージョン
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