I’ve been working on something similar. Static meshes would never work; ISM/HISMs are great, but they may not be performant enough for you. Minecraft actually generates a mesh for each chunk (and only the visible faces), regenerating it whenever it is modified. However, this makes it difficult to add and remove blocks, and requires some advanced C++ code.