// Set up the windows and tabs for the beginning of the game. public void InitializePanels() { foreach (PanelLayout panel in panels) { panel.parent = gameObject; // Not being called or something? Maybe it was a reference-vs-value error caused by using a local variable to store the panel panel.InitializeLayout(); } SetActivePanel(0); for (int i = 0; i < tabs.Count; i++) { TabController tab = tabs[i]; tab.PC = this; tab.DeployTab(); tab.PositionTab(tabs.Count, i); } }