В принципе есть 2 варианта:
1. Создать скрипт, повесить его на все создаваемые Вами объекты. В нем объявить метод OnCollisionEnter или OnTriggerEnter. При использовании этих функций также есть доступ к пересеченному объекту. Оттуда уже можно сделать все необходимое. (Рекомендую этот способ)
2. Использовать одну из функций: Physics.Raycast, Physics.Spherecast и т.п. Raycast позволяет проверить только одно направление (можно и несколько, но для этого есть другие способы). Spherecast позволяет получить все
пересеченные объекты в заданном радиусе.
Надо также понимать, что работа с коллайдерами - это работа с физикой, а для этого необходим компонент Rigidbody (хотя бы на одном объекте из пары, в Вашем случае лучше иметь на всех). Можно также отключить использование гравитации, чтобы не мешала.
P.S.: функция Instantiate имеет следующую перегрузку: GameObject Instantiate(GameObject obj, Vector3 position, Quaternion rotation, Transform parent), которая позволит объединить 3,4,5 строчки так:
CellX[Num] = Instantiate(
objectX,
new Vector3(x, y, 1f),
objectX.transform.rotation,
ObjectBoardCells.transform)
as ObjectX;