I am making an endless 2D runner . I want meteors(objects) to infinitely and randomly spawn and fall from the sky.....

I have a script but I want the range to be infinity and frequently spawn but as soon as I increase the range to long distance, the amount of objects spawns is less .I want that it spawns frequently and though I increase the range it should spawn like in range with small distance.

Instantiating during update() is very expensive. In this case, have a pool of asteroids instantiated during start(), and set them to inactive. When you spawn an asteroids, it’s simply a matter of grabbing an inactive asteroid and placing it at the appropriate location and activating it. When the asteroids hits the ground, and its death animation completes, you set it to inactive and return it to your pool.

Once you have your pool, your game will run faster, and it will be a matter of testing how many asteroids you need to load to get the desired effect.