I notices a small bug when you apply offsetting to the GridDebugObjects so they overlap nicely with the grid on the material used on the plane:
If you make your grid the exact size you want it, the cells on the outer edges will fall off the plane and mess with the UnitLayer functionality. If you click on a part of the tile which does not have plane under it, the Unit will move to tile(0,0) instead of the tile you wanted.
Which class was responsible for the offsetting again? I work on this course after my classes so I sometimes struggle to remember what fuctionality was implemented where exactly. I went over the code I already have but I cannot spot it. Any help is welcome!