Show custom List in Inspector?

I have tried using a usual List as a public class variable and the List shows up as one of the variables in the Inspector when the script is attached to a GameObject.

I created my own List called MonsterList by extending the List so that I could encapsulate some methods to my MonsterList. However, any public class variable of the type MonsterList doesn’t show up in the Unity Inspector for me to set a size and drag to assign GameObjects to MonsterList.

So, how can I get a custom List to show up in the Unity’s Inspector?

PS: I am using C#.

You can do this by making your Custom class Serializable:

using UnityEngine;
using System.Collections;

[System.Serializable]
public class Item
{

	public string 		itemName;
	public int 			itemID;

	[System.Serializable]
	public enum ItemType
	{
	Mammal,
	Bird,
	Fish,
	Insect,
	Reptile
	}

	public Item (string name, int id)
	{
	itemName = name;
	itemID = id;

	}

	public Item() {
	}
}

Then, when you add this class to another script, even as a List it shows up in the Editor along with items added or subtracted.