最終更新:2020-03-09 (月) 18:01:55 (205d)  

UnityEngine.SerializeField
Top / UnityEngine.SerializeField

この属性を持つフィールドはアクセス修飾子に関係なく「Inspector」ウィンドウから編集可能になります。

[SerializeField]
private float speed = 1;

Unity が private フィールドを強制的にシリアライズします。

https://docs.unity3d.com/jp/460/ScriptReference/SerializeField.html

概要

  • これはほとんどのケースで使用する必要がありません。
  • Unity がスクリプトをシリアライズする際、public フィールドのみシリアライズします。 それに加えて Unity で private フィールドをシリアライズさせたい場合、 フィールドに SerializeField 属性を追加できます。
  • publicではないフィールドでも[SerializeField]をつければシリアライズ化の対象にする

メモ

  • インスペクタには出したいけどprivateにしたい場合に使う

関連

  • UnityEngine.HideInInspector? - インスペクタに表示しない
  • System.NonSerialized? - シリアライゼーションも行われない

関連