Пока из минусов могу сказать то, что получается больше строк кода практически в 1.5 раз, а в системах с 0.01 таймерами это лишняя нагрузочка и минус фпс.
Возвращает вектор же, берешь и используешь X и Z. Если тебя интересует горизонтальная плоскость. Если ты говоришь про координаты ячейки. то тут просто округляешь.
var position = ...
const float cellSize = 20.0f;
var cellX = Mathf.Round(position.x / cellSize);
var cellY = Mathf.Round(position.y /…
Это число уникально для каждого премета или что это за число?