【Unity】OdinのHorizontalGroupの使い方

UnityでEditorを拡張するためのアセット「Odin」の機能でインスペクター上に変数を水平に表示できる HorizontalGroup の使い方です。

基本的に公式のマニュアルを見ればOKですが日本語のこのサイトは2017年のものでこれを参考にするとうまく動かなかったので補足です。

上記サイトのサンプルのうち一番シンプルな変数の水平表示は以下の通りコードを書いても正しく表示されません。

using Sirenix.OdinInspector;
using UnityEngine;

public class InspTest : MonoBehaviour
{
    [HorizontalGroup("グループ A")] public int a1;
    [HorizontalGroup("グループ A")] public int a2;
    [HorizontalGroup("グループ A")] public int a3;
}

以下のように右にはみ出して表示が崩れます。

f:id:Takachan:20210611215525p:plain

なので正しくは以下の通り宣言します。

public class InspTest : MonoBehaviour
{
    [HorizontalGroup("グループ A", LabelWidth = 20)] public int a1; // ★ラベルの大きさを指定する
    [HorizontalGroup("グループ A")] public int a2;
    [HorizontalGroup("グループ A")] public int a3;
}

そうすると以下のようにインスぺクターの幅に表示が収まるようになります。

f:id:Takachan:20210611215504p:plain

グループの始まりには幅を設定しましょう。