My 3D tile based grid game has a system that grabs all the tiles, then uses its Vecor3Int as grid coordinates. On a flat, this works great - but if I want to vary terrain height, add ramps, and so on. Which causes a lot of errors and things being rounded up or down to the wrong layer. This creates massive errors in pathfinding because the map references are all shunted up or down, basically at random. That means an enemy on one layer is suddenly faced with deciding if the layer above OR below is a valid place to go. What I'm wondering here is: 1) Is there a way to automatically create distinct layers in my 3D grid map without errors? 2) Should I just totally abandon this and have my enemies navigate some other way? Bearing in mind that the tiles will eventually be part of a random content generation & modding system? I could botch this by giving every tile a parent gameObject on the right layer BUT this would create its own set of issues I'd rather avoid.