Odin has a dedicated attribute overview with examples

HideReferenceObjectPickerAttribute class

Namespace: Sirenix.OdinInspector
Assembly: Sirenix.OdinInspector.Attributes
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Interface, AllowMultiple = false, Inherited = true)]
public class HideReferenceObjectPickerAttribute : Attribute, _Attribute
Hides the polymorphic object-picker shown above the properties of non-Unity serialized reference types.
  • System.Object
  • System.Attribute
  • HideReferenceObjectPickerAttribute

When the object picker is hidden, you can right click and set the instance to null, in order to set a new value. If you don't want this behavior, you can use attribute to ensure people can't change the value.

public class MyComponent : SerializedMonoBehaviour
    [Header("Hidden Object Pickers")]
    public MyCustomReferenceType OdinSerializedProperty1;

    public MyCustomReferenceType OdinSerializedProperty2;

    [Header("Shown Object Pickers")]
    public MyCustomReferenceType OdinSerializedProperty3;

    public MyCustomReferenceType OdinSerializedProperty4;

    public class MyCustomReferenceType
        public int A;
        public int B;
        public int C;


public HideReferenceObjectPickerAttribute()

This website is brand new and built with the Odin 2.1 beta in mind. This means you might discover some features such as attribute expressions that are only available in the beta.

You can download the 2.1 beta from here and read the patch-notes here.