Today I'm going to attempt to create a 2d hexagonal grid in Unity, going through the steps required in depth and explaining the code involved (for my sake more than anyone else!) Whenever you see a link, click it to visualise the process, or change between pointy topped and flat topped hexagons
Many games use square grids due to how easy they can be to create and manage, but they do have a number of shortcomings. Namely, the diagonal distance between two squares on a grid is different from the horizontal and vertical distances. You either have to code especially for these circumstances or disallow diagonal movement in your game entirely. Hexagon grids are more difficult to initially set up, but once you've overcome this hurdle your movement code is a lot easier.