Increasing speed of spawned objects over time?

Long time no see Unity Answers, thanks for clicking!

Long question (scroll down for shorter version if you’d like!)-

So I’m working on an endless runner with the guy set in place and the world moving past him to give the illusion of movement. Off the screen to the right there’s the “Floor Spawn Point” that randomly spits out 1 of 3 tiles (Empty, Duck and Jump) which then move across the screen to the left and towards the player.

The script on the Spawn Point -

    var EmptyFloor : GameObject; 
    var JumpFloor : GameObject; 
    var DuckFloor : GameObject;  

    var EmptyFloorClone : GameObject;
    var JumpFloorClone : GameObject; 
    var DuckFloorClone : GameObject;

    var FloorNumber = 300;  

    var spawndelay : float = 1; 

    function Start()
    {
       StartSpawn();
       
    }
 
    function StartSpawn() 
    { 
       for (i=0; i<FloorNumber; i++)
       {
       
 
         var random = Random.Range(1, 6);
         if (random == 1)
         {
          SpawnEmpty();
          Debug.Log ("Empty");
          yield WaitForSeconds(spawndelay);
        
         }
         if (random == 2)
         {
          SpawnJump();
          Debug.Log ("Jump");
          yield WaitForSeconds(spawndelay);
        
         }
         if (random == 3)
         {
          SpawnDuck();
          Debug.Log ("Duck");
          yield WaitForSeconds(spawndelay);
        
         }
          if (random == 4)
         {
          SpawnEmpty();
          Debug.Log ("Empty");
          yield WaitForSeconds(spawndelay);
        
         }
         if (random == 5)
         {
          SpawnJump();
          Debug.Log ("Jump");
          yield WaitForSeconds(spawndelay);
        
         }
         if (random == 6)
         {
          SpawnDuck();
          Debug.Log ("Duck");
          yield WaitForSeconds(spawndelay);
        
         }
 
       
       }
    }
 
  function SpawnEmpty()
    {
       EmptyFloorClone = Instantiate(EmptyFloor, transform.position, transform.rotation);
      
    }
    
     function SpawnJump()
    {
       JumpFloorClone = Instantiate(JumpFloor, transform.position, transform.rotation);
       
    }
    
     function SpawnDuck()
    {
       DuckFloorClone = Instantiate(DuckFloor, transform.position, transform.rotation);
       
    }

Then on each of the 3 floor pieces is this script.

	var MoveFloorSpeed : float = 50;
	var  destorytime : float = 5;
	function Update () 
	
	        {
                //Move floor towards player
	            transform.Translate(Vector3(0,0,-MoveFloorSpeed) * Time.deltaTime);
	            //Destroy when off screen
	            Destroy (gameObject, destorytime);
	
	        }

What I’d like to happen is over time the floor pieces gradually spawn faster and move faster. My plan was to manipulate the “spawndelay” float in the Spawn Point script and the “MoveFloor” float on the floor piece script with a line of code that changes their values over time. I understand it might involve a “lerp”? and I know it’ll need a Mathf.Clamp to make sure they don’t move so fast the player can’t react and set limits.

FIrst problem is I assume that on the floor pieces, even if I have a script that increases their speed over time, since a new clone is being spawned every couple of seconds the speed will start off at the slowest on each new clone every time…would it make sense to have something else tell the floor piece it’s new speed? with the speed value increasing over time?

In a nutshell…

Lets say at the start of the game the floor pieces spawn at a rate of 1 ever 10 seconds and they move 10 units per second. After playing the game for 60 seconds they have smoothly changed to now spawning 1 every 2 seconds and move at 50 units per second. How do I go about that? Again I feel as though it has something to do with a Math.lerp

Any help would be appreciated! Thank you!

time.deltatime, over time increase speed in script that controls unit at same time decrease spawn delay,