Ты создаешь массивы нулевого размера, в них просто нет места.
Массивы лучше использовать, когда ты заранее знаешь сколько у тебя объектов.
Если ты хочешь "резиновые массивы" используй List
Объявление
public List<GameObject> goCube = new List<GameObject>();
А добавление
goCube.Add(твой объект);
Это раз.
__
Чтобы получить ссылку на объект, который ты создал через метод Instantiate нужно получить его возврат
var CreatedObject = Instantiate(...);
И уже с этим CreatedObject работать (в твоем случае закидывать в List)
Это два.