Field attributes

DataObjectDropdown

Enables a useful dropdown field with additional features such as unassign, create new and find DataObject. When using this attribute outside of a DataObject - like in a MonoBehaviour, it is necessary to add a reference to the DataLibrary object and pass the name of the DataLibrary field.

  • dataLibraryFieldName: the name of the data library field

  • includeSubtypes: if true, dropdown also shows derived types

  • tooltip: set an additional etooltip

public class Enemy : MonoBehaviour
{
    public DataLibrary data;
    
    [DataObjectDropdown("data")]
    public EnemyData enemyData;
}

ExposeToInspector

Use the ExposeToInspector attribute to mark fields which should be displayed in the popup inspector on the DataObjectDropdown property drawer.

public EnemyData : DataObject
{
       [ExposeToInspector]
       public int health;
       [ExposeToInspector]
       public int speed;
       [ExposeToInspector]
       public GameObject prefab
       
       public Vector3 position;
}

DatabrainSerialize

Mark fields which should be serialized by Databrain to a file with the [DatabrainSerialize] attribute. Only fields of DataObjects which are in the runtime-DataLibrary will be serialized.

[DataObjectAddToRuntimeLibrary]
public EnemyData : DataObject
{
       [ExposeToInspector]
       [DatabrainSerialize]
       public int health;
       [ExposeToInspector]
       [DatabrainSerialize]
       public int speed;
       [ExposeToInspector]
       public GameObject prefab
       
       [DatabrainSerialize]
       public Vector3 position;
}

Border

Set a border around a field

  • borderWidth: The width of the border

  • color: The color of the border

HorizontalLine

Create a horizontal line with custom width and color

  • height: height of the line

  • color: color of the line (DatabrainColor)

Create a dropdown selection

// string
private List<string> dropdownOptions = new List<string> { "A", "B", "C" };

[Dropdown("dropdownOptions")]
public string dropdown;

// integer
private List<int> dropdownIntOptions = new List<int> { 0, 1, 2 };

[Dropdown("dropdownIntOptions")]
public int dropdownNumber;

Foldout

Group fields by foldouts (only works in the Databrain editor)

[Foldout("curves")]
public AnimationCurve curve1;
[Foldout("curves")]
public AnimationCurve curve2;

[Foldout("Numbers")]
public int numberOne;
[Foldout("Numbers")]
public int numberTwo;

InfoBox

Shows an info box.

  • infoBoxtype: The type of the infoBox (InfoBoxType.Normal / InfoBoxType.Warning / InfoBoxType.Error

  • text: The text message

EnumFlags

Shows an enum selection toggle group for choosing multiple enums.

public enum TerrainType
{
    none = 0,
    sand = 1,
    earth = 2,
    water = 4,
    rock = 8
}

[EnumFlags]
public TerrainType terrainType;

Hide

Hides a field

Layer

Shows a layer dropdown.

[Layer]
public string layer;
[Layer]
public int layerInt;

Slider

Create a slider with min and max value

Scene

Create a scene dropdown field

ShowAssetPreview

Creates a preview window of assigned game object

  • width

  • height

Tag

Creates a tag dropdown field.

[Tag]
public string tag;

Textfield

Creates a multiline textfield

Title

Adds a title to the field with an optional border.

  • title

  • borderColor

  • textColor

Last updated