Method group is Obsolete

PropertyCollectionAttribute

class in UnityEngine

/

Inherits from:PropertyAttribute

/

Implemented in:UnityEngine.CoreModule

Obsolete Derive collection attributes from 'PropertyAttribute' and set its 'applyToCollection' property to 'true'.

Description

Base class to derive custom property attributes for collections from. Use this to create custom attributes for array and list variables in scripts.

A custom attributes can be hooked up with a custom PropertyDrawer class to control how a script variable with that attribute is shown in the Inspector.

using UnityEditor;
using UnityEditor.UIElements;
using UnityEngine;
using UnityEngine.UIElements;

public class Collection : MonoBehaviour { public int before; [GreenCollectionDrawer] public int[] collection; public int after; }

public class GreenCollectionDrawerAttribute : PropertyCollectionAttribute { }

[CustomPropertyDrawer(typeof(GreenCollectionDrawerAttribute))] public class GreenCollectionDrawer : PropertyDrawer { public override VisualElement CreatePropertyGUI(SerializedProperty property) { return new PropertyField(property) { style = { backgroundColor = Color.green } }; } }

Additional resources: PropertyDrawer class.

Inherited Members

Properties

applyToCollectionMakes attribute affect collections instead of their items.
orderOptional field to specify the order that multiple DecorationDrawers should be drawn in.

Did you find this page useful? Please give it a rating: