Odin has a dedicated attribute overview with examples

BoxGroupAttribute class

Namespace: Sirenix.OdinInspector
Assembly: Sirenix.OdinInspector.Attributes
[AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Module | AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Enum | AttributeTargets.Constructor | AttributeTargets.Method | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Interface | AttributeTargets.Parameter | AttributeTargets.Delegate | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter | AttributeTargets.All, AllowMultiple = true, Inherited = true)]
public class BoxGroupAttribute : PropertyGroupAttribute, _Attribute

BoxGroup is used on any property and organizes the property in a boxed group.

Use this to cleanly organize relevant values together in the inspector.


The following example shows how BoxGroup is used to organize properties together into a box.

public class BoxGroupExamples : MonoBehaviour
    // Box with a centered title.
    [BoxGroup("Centered Title", centerLabel: true)]
    public int A;

    [BoxGroup("Centered Title", centerLabel: true)]
    public int B;

    [BoxGroup("Centered Title", centerLabel: true)]
    public int C;

    // Box with a title.
    [BoxGroup("Left Oriented Title")]
    public int D;

    [BoxGroup("Left Oriented Title")]
    public int E;

    // Box with a title recieved from a field.
    [BoxGroup("$DynamicTitle1"), LabelText("Dynamic Title")]
    public string DynamicTitle1 = "Dynamic box title";

    public int F;

    // Box with a title recieved from a property.
    public int G;

    public int H;

    // Box without a title.
    [InfoBox("You can also hide the label of a box group.")]
    [BoxGroup("NoTitle", false)]
    public int I;

    public int J;

    public int K;

    public string DynamicTitle2
        get { return UnityEditor.PlayerSettings.productName; }

    [BoxGroup("Boxed Struct"), HideLabel]
    public SomeStruct BoxedStruct;

    public SomeStruct DefaultStruct;

    public struct SomeStruct
        public int One;
        public int Two;
        public int Three;


Initializes a new instance of the BoxGroupAttribute class. Use the other constructor overloads in order to show a header-label on the box group.
public BoxGroupAttribute()
BoxGroupAttribute(String, Boolean, Boolean, Single)
Adds the property to the specified box group.
public BoxGroupAttribute(string group, bool showLabel = true, bool centerLabel = false, float order = 0F)
System.String group

The box group.

System.Boolean showLabel

If true a label will be drawn for the group.

System.Boolean centerLabel

If set to true the header label will be centered.

System.Single order

The order of the group in the inspector.


If true the header label will be places in the center of the group header. Otherwise it will be in left side.
public bool CenterLabel
If non-null, this is used instead of the group's name as the title label.
public string LabelText
If true a label for the group will be drawn on top.
public bool ShowLabel


Combines the box group with another group.
protected override void CombineValuesWith(PropertyGroupAttribute other)
PropertyGroupAttribute other

The other group.