こんにちは、今日はUnityのC#スクリプトで発生するWarning CS0649の対処方法についてまとめていきます。
Table of Contents
確認環境
Unity 2018.4.15f1
発生原因
以下のようなコードでスクリプトではなくInspectorから参照を設定するような場合、定義されている変数に値が代入されていない警告であるCS0649が発生します。
[SerializeField] GameObject obj;
エラー内容は以下のようなものです。
/Project/Assets/Script.cs(XX,XX): Warning CS0649: Field 'Class.Param' is never assigned to, and will always have its default value null (CS0649) (Assembly-CSharp)
対処方法
このエラーを抑制するには定義時にnullを代入しておく、または警告自体を一時的に発生しないようにする方法があります。
nullを代入
[SerializeField] GameObject obj = null;
警告を無効化
以下のコードで以降の指定の警告を無効化することができます。
#pragma warning disable 0649
以下のコードで警告を有効に戻すことができます。
#pragma warning restore 0649