BoxGroupAttribute

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.

namespace Sirenix.OdinInspector
{
[AttributeUsageAttribute((AttributeTargets)448, AllowMultiple = True, Inherited = True)]
public class BoxGroupAttribute : PropertyGroupAttribute
}

Requirements

Namespace: Sirenix.OdinInspector
Assembly: Sirenix.OdinInspector
Version: 1.0.5.0

See Also

Constructors

Definition Description
BoxGroupAttribute() Initializes a new instance of the BoxGroupAttribute class. Use the other constructor overloads in order to show a header-label on the box group.
BoxGroupAttribute(string, bool, bool, int) Adds the property to the specified box group.

Properties

Return Type Definition Description
bool CenterLabel If true the header label will be places in the center of the group header. Otherwise it will be in left side.
bool ShowLabel If true a label for the group will be drawn on top.

Methods

Return Type Definition Description
void CombineValuesWith(PropertyGroupAttribute) Combines the box group with another group.

Example

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";

    [BoxGroup("$DynamicTitle1")]
    public int F;

    // Box with a title recieved from a property.
    [BoxGroup("$DynamicTitle2")]
    public int G;

    [BoxGroup("$DynamicTitle2")]
    public int H;

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

    [BoxGroup("NoTitle")]
    public int J;

    [BoxGroup("NoTitle")]
    public int K;

#if UNITY_EDITOR
    public string DynamicTitle2
    {
        get { return UnityEditor.PlayerSettings.productName; }
    }
#endif

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

    public SomeStruct DefaultStruct;

    [Serializable]
    public struct SomeStruct
    {
        public int One;
        public int Two;
        public int Three;
    }
}