Is it possible to create scenes at runtime with the Unity engine?

My friend and I are working on a game and wish to create a game with procedurally generated landscape (terrain, buildings, flora and fauna). Assuming we created all the Assets in advance and simply gave them to a script to place them along with the randomly generated terrain is this possible with any version of Unity? Also the major part of my question is can this be done while the game is being executed, sort of Minecraft style world generation.

Sort of. You wouldn’t necessarily be creating scenes, but running the same scene with scripts that create your procedural content as needed. You would probably be mostly instantiating Prefabs at runtime and creating meshes dynamically. You would still need a few objects (camera, scripts, etc) placed on your scene but it would otherwise be an empty scene where everything would be instantiated while the game runs. This could be done at the Awake() state of your scripts but of course also be re-ran at a later time to replace the current content of the scene.

You can use SceneManagement.SceneManager.CreateScene.

using UnityEngine.SceneManagement;
using UnityEngine;

public class SceneFactory : MonoBehaviour {

    Scene _scene = SceneManager.CreateScene("Procedural Scene");