CityGen3D environments are built on top of one or more Unity terrains and the interface guides you through the entire process of creating your environment starting with terrain heightmaps.
It's really easy to import real world heightmap data into Unity with CityGen3D, using the built-in support for importing heightmap data files from NASA.
If you are creating a fictional environment you can also apply a heightmap using Perlin Noise to control how hilly your terrain is, and modify it further as normal using the Unity Terrain Tools.
CityGen3D also has several easy to use heightmap functions that can be applied to selected terrains:
Modifiers - offset the heightmap per surface type;
Plot Levelling - automatically flatten terrain where buildings are going to be;
Highway Levelling - automatically reduce camber on roads, which is great for mountainous environments;
Smoothing - automatically smooth the heightmap with control over brush size and falloff;
Flattening - flatten terrain under prefabs with layer mask for identification of specific objects;