HexCoord v1.0 is now available on GitHub.
HexCoord implements hexagonal grid geometry in C#. The main fork utilizes Unity's Vector2 and Vector3 for position information, but is otherwise platform-agnostic; porting to other C# environments should be trivial.
This is an implementation of Amit Patel's constrained cubic axial coordinates. Briefly, it uses two axes labeled q and r. The q axis is equivalent to the x axis of a Cartesian plane; but the r axis is 60 degrees from q, rather than the 90 degrees of a Cartesian y axis. HexCoord deviates from Amit's reference example in one way: the positive r axis extends up and right, rather than down and right.
For performance reasons, HexCoord is a struct. Because Unity does not serialize structs, there is also a serializable HexCoordinate class which easily converts to and from HexCoord. Use the class where serialization is needed, and the struct everywhere else.
What's next? I'm currently working on HexKit, a library of spatial operations including nearly everything presented on Amit's page, plus additional features like field of view with real arcs, "super-cover" lines for strict line-of-sight tests, and path finding. I plan to release this on the Unity Asset Store for a small fee.
Discuss this in the forum!