本日はUnityの小ネタ枠です。
Header属性を使ってInspectorのフィールドにコメントを表示する方法です。
Header属性
Header属性はInspectorのフィールドにヘッダーを追加するために利用できます。
スクリプト内のフィールドに本属性を設定すると、Inspectorのフィールド上部に設定したコメントが表示されます。
docs.unity3d.com
using UnityEngine; public class HeaderTest : MonoBehaviour { [Header("一回目のログテキスト")] public string logTextFirst; [Header("二回目のログテキスト")] public string logTextSecond; // 実行処理 }
フィールドでない要素に本属性を設定した場合
フィールドでない要素に本属性を設定するとエラーが発生します。
例えば以下のスクリプトの場合、自動実装プロパティ logText はフィールドでないため、エラーとなります。
using UnityEngine; public class HeaderTest2 : MonoBehaviour { [Header("ログテキスト")] public string logText { get; set; } // 実行処理 }
Assets\UITest\AttributeTest\Scripts\HeaderTes2.cs(7,6): error CS0592: Attribute 'Header' is not valid on this declaration type. It is only valid on 'field' declarations.
自動実装プロパティではプライベートの匿名フィールドが作成されており、上記のコードでは logText というフィールドは生成されません。
learn.microsoft.com
Inspectorに表示されないフィールドに本属性を設定した場合
また以下のようなInspectorに表示されないフィールドに本属性を設定すると、エラーは発生しませんがヘッダーは表示されません。
using UnityEngine; public class HeaderTest3 : MonoBehaviour { [Header("Inspector上で表示されないフィールド")] private string logTextFirst; [Header("Inspector上で表示されるフィールド")] public string logTextSecond; // 実行処理 }