Você poderia informar a linha do erro, ou sinalizar o trecho que está causando o problema?
Você declara public Cubes cb; e depois tenta utilizar o cb, mas na classe não seta valor algum para o
cb, talvez seja este o problema caso ele não seja setado fora da classe.
Pode ser o near = GameObject.Find("Cube " + index); que retorna NULL, ai o próprio
cubes seria NULL
Pode ser o o transform do cubes que está null, ai dá o erro ao tentar acessar
position.
cubes.transform.position
Enfim, pode ser muita coisa, então se passar a linha ou o trecho do código com o problema já vai ajudar.