質問: ""; ``` 非表示になった時点で変数の値は初期化("")されるものと思っていましたが、 [HideInInspector]を削除して再表示すると手動設定の内容が残っていることを確認しました。 プログラムとEditorを別人が担当している場合、 プログラム側では関与しないまま手動設定が隠れた初期値となってしまい、 しかもEditor側では項目が非表示なので確認・修正ができない問題も生じて 問題発見までの時間がかかることが想像されます。 そこで質問ですが、 [HideInInspector]を行った時点で手動設定の内容をクリアする方法はないでしょうか? よろしくお願い致します。
回答: 確かに`HideInInspector`アトリビュートはインスペクター上で非表示にするだけですので、値はPrefabやシーン上には保存されてままになってしまいます。 Public変数の値の情報をクリアするのでしたら、`System.NonSerialized`アトリビュートの方をお使いいただければと思います。 `System.NonSerialized`アトリビュートは値のシリアライズをさせないようにするため、インスペクター上には表示されませんし、保存もしません。 インスペクター上では通常のPrivate変数の同じ扱いにすることができます。 ``` [System.NonSerialized] public string TestName = ""; ``` お試しくださいませ。