Calling a random function every X seconds

Hi all! I’m pretty new to coding and I’m trying to make an endless runner in which every X seconds a new “world” would be generated with different obstacles and what not, and I’m having problems with implementing that. This is what I have right now:

	void Update () {
        GenerateNewWorld();  
    }

    void GenerateNewWorld()
    {
        if (spawnedTiles <= 10)
        {
            GenerateWorldOne();
        }
        else if (spawnedTiles > 10)
        {
            GenerateWorldTwo();
        }
    }

    void GenerateWorldOne()
    {
    // Instantiate stuff for World One
    spawnedTiles++;
    }

    void GenerateWorldTwo()
    {
    // Instantiate stuff for World Two
    spawnedTiles++;
    }

Basically I’m not sure how to create something that would hold all the functions (GenerateWorldOne, etc.) and then it would randomly call a function from it. I tried to figure something out with the Fisher-Yates shuffle but I wasn’t able to come up with something that would actually work.

Sorry if that sounds pretty basic and thanks for your help!

if (Time.frameCount % 100 == 0) {} call the code once every 100 frames
if (Time.timeSinceLevelLoad % 10 < 1) will not work (calls it as long as frames are in the first second of a serie of 10)

Best practice without coroutines IMO :

// Function is called every 20s
// when tsll = 20s and time = 0s, time gets updated to time = tsll = 20 and the gap will not be 20 until 
tsll = 40
float time = 0f;
if (Time.timeSinceLevelLoad - time > 20f)
{
    time = Time.timeSinceLevelLoad;
   Function();
}

or learn Coroutines usage but it may be a bit complicated for a beginner