EditorGUILayout.ObjectField for Array

How can I emulate the native Inspector behaviour associated with public arrays?

Particularly I’m interested in enabling the drag and drop of multiple objects (multiple selection) into the array controller.

alt text


I’ve seen this code, might be helpful if someone end up here as I did (even after 4 years)

using UnityEngine;
using System.Collections;

using UnityEditor;

[CustomEditor (typeof(TriggerContainer))]
public class TriggerContainerEditor : Editor

    private SerializedObject obj;

    public void OnEnable ()
        obj = new SerializedObject (target);
    public override void OnInspectorGUI ()
        DrawDefaultInspector ();
        EditorGUILayout.Space ();
        DropAreaGUI ();
    public void DropAreaGUI ()
        Event evt = Event.current;
        Rect drop_area = GUILayoutUtility.GetRect (0.0f, 50.0f, GUILayout.ExpandWidth (true));
        GUI.Box (drop_area, "Add Trigger");
        switch (evt.type) {
        case EventType.DragUpdated:
        case EventType.DragPerform:
            if (!drop_area.Contains (evt.mousePosition))
            DragAndDrop.visualMode = DragAndDropVisualMode.Copy;
            if (evt.type == EventType.DragPerform) {
                DragAndDrop.AcceptDrag ();
                foreach (Object dragged_object in DragAndDrop.objectReferences) {
                    // Do On Drag Stuff here