Terrain creation


I’m developing a Top-Down based game, I used the 3d top down template that comes with Unreal Engine 4.
I know how I can create a terrain, textured, etc. but I want to create automatic terrains. The first level map is always the same map, the lobby, it doesn’t change anytime. But then I want to do for example, a second level called “Forest” and everytime the player joins I want to the player see a new generated map. I want to make a map divided in parts but randomly generated. For example, i want to divide the map in 3 sections:

1st. section: grass floor with trees (not all floor with trees, the player needs to move between trees) in map, green zones
2nd section: ground floor with rocks (same as 1st section but rock ground and rocks) in map, gray zones
3rd section: land floor with single pick up elements (like single rocks, trees branchs, etc.) in map, brown zone

I’m going to attach a 2d map guide of example (it’s an example of how the terrain has to be generated, my map is in 3d but I don’t want to use heights, everything is plane), if someone knows any asset can make it or have any idea of how to make it.