What I'm trying to do is make a GameObject based on a prefab, load in the details (name, scripts, etc), move that object into a List<GameObjects> selectionMenu, then when I'm done making all the various objects, call DrawList()and addChild each of those elements to the table.
The problem is the list seems to only contain empty default game objects, not the prefabs or their modifications.
Is this even possible? I used to instantiate the items as you'll see in "AddButton()", but I need them to go in these lists first now, and addChild them when I have them all. Any help would be greatly appreciated!

EDIT: so perhaps to clarify my goal here: I want to take a prefab, modify it's properties (name, component data, etc), load that item into a list, and then add it to the GUI (via addchild, as this is the only way it seems to work?) from that list.
public void AddTitle (string label)
{
GameObject newTitle = (GameObject) Instantiate(Title);//this is making them in the root heirarchy. it makes them correctly,
//but the point is I just want to store the object, to AddChild from a list later.
newTitle.GetComponentInChildren<UILabel>().text = label;//write Title label
switch (buildMenu)
{
case BuildMenu.Selection:
newTitle.name = selectionItems.Count + "Title";
selectionItems.Add(newTitle);//this seems to only add a empty default GameObject, not this prefab item
break;
case BuildMenu.Detail:
newTitle.name = detailItems.Count + "Title";
detailItems.Add(newTitle);
break;
default:
break;
}
}
...
public void DrawList ()
{
List
<GameObject
> itemsToDraw
= new List
<GameObject
>(); GameObject tableToDraw
= new GameObject
();
switch (buildMenu)
{
case BuildMenu.Selection:
itemsToDraw = selectionItems;
tableToDraw = SelectionTableRef;
break;
case BuildMenu.Detail:
itemsToDraw = detailItems;
tableToDraw = DetailTableRef;
break;
default:
itemsToDraw = selectionItems;
tableToDraw = SelectionTableRef;
break;
}
for (int i = 0; i < itemsToDraw.Count; i++)
{
itemsToDraw[i] = NGUITools.AddChild(tableToDraw);
}
tableToDraw.GetComponent<UITable>().repositionNow = true;//adjust table
}