This repository is properly tagged in case you'd like to follow its development step by step.
The first approach of the algorithm is a simple example of terrain adjacencies (sea, beach, valley, mountain) made of cubes.
Having developed this simple example, we approach a more complex system featuring 3D modules, constraints and backtracking.
And create a UI button in a different scene (following Scriptable Objects event channels pattern), and implement a simple orbital camera.