How to put objects back to position after X time?

So here’s my problem, I have a main menu with 3D boxes and some stuff floating around and, when the final one hits a box, it restarts the level. Until now this worked very well, but now I need to implement a options menu where when I click “Options” button, the camera moves to another place with another 3D buttons. But when in “Options” menu, it get’s back to the main menu, as it restarts the level. So I need to know how to when passed X seconds or when X object hits Y object, the objects restart their positions, but not the entire level. Or even better, how to create a continuous flux of objects spawning from certain places, spaced by X seconds. I hope you understood :slight_smile:

Save the original positions of the objects to a variable. You can do this in the Start() function, for instance.

Start a Coroutine and yield for the amount of time you want, or save the start time to a variable and check the elapsed time each update.

After the amount of time has passed, set the object positions back to the start position that you saved.