通知            
            
                すべてクリア
            
        
	                                    05/01/2021 8:41 am  
		                                	            
	            Unityで玉転がしゲーム②の6:00あたりで
[SerializeField] privateでスクリプトの変数の宣言しているのですが、
publicで宣言するのと[SerializeField] privateで宣言する違いについてお聞きしたいです。
[SerializeField] privateで宣言する際は他のスクリプトでは操作されない(カプセル化)けれど、
Unityのインスペクター上では操作できるという認識でよいでしょうか?
publicで宣言する際
public GameObject target;[SerializeField] private で宣言する際
[SerializeField] private GameObject target;
	                                    05/01/2021 8:41 am  
		                                	            
	            おっしゃる通りで、publicにすると他のスクリプトからも値の変更ができてしまう点が問題になりがちなので、
インスペクター上で編集したいという目的の変数は基本[SerializeField]を使ってprivateで宣言します。
1人で開発してる時ならあまり問題は無いかもしれませんが、複数人で開発してる時などは特に重要になります。