LoginSignup
2
0

More than 5 years have passed since last update.

public private [SerializeField] 宣言について

Posted at

Unityのpublic、private、 [SerializeField]宣言について考えて見た。

Unityスクリプト上でpublicで変数を宣言した場合、自動的にinspectorにて公開される。
また変数に[SerializeField]で宣言した時も同じ結果を見られる。

一般的に変数を作る時、可能な限り最低限に接近できるレベル(private)を持つようにしないといけないが、色んな意見がある中一つの理由として他のクラスで作成されたコードによって変更される可能性があるからである。

public変数宣言でUnityが自動的にinspectorに公開してくれる便利さに頼るより、干渉されないようにprivate宣言後、[SerializeField]で公開する方がいいかもしれない。

privateの目的とは違うが、いちいちスクリプットを探してバグを修正するよりはいいと思う。

Unityの公式レファレンスの見ると[SerializeField]はほとんど使用しないでpublic変数の宣言をすすめているが多くのプログラマーはよくないと行っている。

また、Unite2015Europeではpublic宣言がprivate宣言よりいい性能を出すかもしれないという意見も出ている。

Unite2015Europe
Unity レファレンス

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0