From my readings around in the posts from Zeustiak, you should be using instanced static meshes to generate your tiles. From there you can then generate a single collider that encompasses the entire game world. Using the math from Amitp you be able tomap the mouse click coordinate (X, Y, Z) to a coordinate (X,Y) in the hex grid. Then using some math you should be able to map this to an index an in array.

I’m going to example with grids because I have not had much practice with hexes, but I do love grids.

Assume we have a map such as this, where each ‘#’ symbol is a square that is 100x100 units large.

When we click anywhere in the game (assuming the click collides with the collision mesh we added) we get a coordinate (X, Y, Z), for example possibly (138.32, 213.32, 0).

Knowing that we put our grid bottom left corner at (0, 0, 0) and the top right corner at (100, 100, 0) we know we can divide the mouse coordinates to get the X,Y coordinate in the grid.

138.32 / 100 = 1.38

213.32 / 100 = 2.13

Rounding this will give us (1, 2) as our coordinate. (Keep in mind our coordinates for our grid start at 0, 0 and go up to 2,2)

Mapping this to an index in an array is as simple as doing some math:

Something along the lines of X * Width + Z (it all depends on how you choose to index into the array, just keep consistent!)

It sounds like, from Zeustiak’s tinkering, that he was able to spawn something close to 16k cells at one time and still have a functioning system.