GUI.Window not updating.

I’m trying to display up to date information in a drag-able GUI.Window using GUI.Label. Unfortunately, the window draw func is only called about 3 times according to the debug scripts. How do I get the information to update every frame, or at the very least when the window is brought into focus or when the information changes? I’m essentially writing a character sheet for an RPG.

@script RequireComponent(CharacterManager)

var charMgr:CharacterManager;

charMgr = gameObject.GetComponent(CharacterManager);

var windowRect: Rect = Rect(25,175,250,175);

function Awake(){
	useGUILayout = true;
}

function OnGUI() {
	windowRect = GUILayout.Window(0,windowRect,WindowFunction,"Character Sheet");
	
}

function WindowFunction(windowID:int){
	var statnames:String[];
	statnames = ["STR", "DEX", "CON", "INT", "WIS", "CHA"];
	Debug.Log("called");
	for (var i:int = 0; i < 6; i++){ 
		var ability:int;
		ability = charMgr.GetModifiedAttribute(i);
		var modifier:int;
		modifier = (ability-10)/2;
		GUILayout.BeginArea(Rect(0,25*i+25,250,25));
		GUILayout.BeginHorizontal();
		GUI.Label(Rect(0,0,30,25), statnames*);*
  •  GUI.Box(Rect(100,0,30,25), String.Format("{0}", ability));*
    
  •  GUI.Box(Rect(200,0,30,25), String.Format("{0}", modifier));*
    
  •  GUILayout.EndHorizontal();*
    
  •  GUILayout.EndArea();*
    
  • }*
  • GUI.DragWindow (Rect (0,0, 10000, 20));*
    }
    Any help would be greatly appreciated.

I figured it out. The debug log was set to collapse the stack trace and I was only setting my variables in the awake method. The window works just fine.