Static List< GameObject> in Singleton

I am using this code…

using UnityEngine;

using System.Collections;
using System.Collections.Generic;

public class TextManager : MonoBehaviour
{
private static TextManager instance;

public static TextManager Instance
{
    get
    {
        if (instance == null)
        {
            instance = new GameObject ("TextManager").AddComponent<TextManager> ();
        }

        return instance;
    }
}

void Start()
{
	Letters = new List<GameObject>();	
}

public static List<GameObject> Letters;


public static GameObject MakeWord(string Text)
{
	char[] letrs = Text.ToCharArray();
	foreach(char letr in letrs)
	{
		foreach(GameObject letter in Letters)
		{
			if(letter.name == letr.ToString())
				Debug.Log(letr);
		}
	}
	return null;
}

void OnDisable()
{
	instance = null;
}

}

I drop the script on a game object so I can add meshes I am using as 3d text to it.

But, the list does not show up on the object for drag’n’drop. I have used singletons before in c# but not in unity, am I doing it wrong? Or can I not use static lists of game objects? or? There are no errors, the list simply does not show up in the editor.

PS. I have edited this thing three times and cant get the code to show up correctly.

static members don't show up in the inspector, but since the class is a singleton, the list doesn't need to be static, there'll only be one copy accessed through the single instance.

Note even this this probably isn't going to work like you expect; you can only inspect isntances of an object on an object in the scene, and this script doesn't exist on an object until some other script triggers it's creation through the Instance getter. This means you'll only be able to inspect and modify the list at run-time.

Myself, I usually don't bother with this style of singleton pattern, I just place a single instance on a special object in the editor with an exposed public static instance member that is set in Awake, and throw an error if instance is already set when awake is called, to detect cases where I screwed up and put more than one in the scene.

basically, this:

public class MySingleton : MonoBehaviour {
    public static MySingleton instance=null;

    void Awake()
    {
        if (instance!=null)
           Debug.LogError("You created multiple instances of MySingleton!");
        instance=this;
    }
};