質問です。

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

public class NewBehaviourScript : MonoBehaviour {
GameObject[] button;
public int numButtons;
// Use this for initialization
void Start () {
button = GameObject.FindGameObjectsWithTag ("button");
for (int i = 0; i < numButtons; i++) {
Debug.Log (button [i]);
}
}
}

これでindexoutofrangeexceptionが出るのですが、配列で宣言してるので理解できません。
ほかのシーンではこれとほとんど同じスクリプトが動いてます。