Elevator Lift

Kinga Osińska
3 min readNov 11, 2021

The next thing that we will create is a functioning lift system. The lift will switch between floors with a 5-second delay at each level.

First, let’s choose a prop that will be our lift.

We will move our elevator from point A to point B and it will stop for 5 seconds when reaching each point.

We need to create to empty GameObject for point A and B. To make it easier, I will just duplicate my elevator and move it to the position I want it to move to and from.

Then I will remove all the component, so they will become empty GameObjects.

The functionality will be similar to the moving platform we made before so we will use it and add a delay. Add the Moving Platform script we made before to our elevator.

Add the point A and B variables and set the speed. If you start the game, the elevator will be moving up and down. Now, we need to add a delay.

To add the delay we will use a coroutine. We will add to new variables _isPaused, to check if the elevator should move, and _delay that will tell us for how much time should the elevator stop moving.

In the FixedUpdate method, check the _isPause variable. If it is false, we will move the elevator. When we reach the target, we will change _isPause to true, and call the coroutine.

The new method is simple. When it is called, we will us WaitForSeconds to delay our elevator and then change _isPause to false to move the elevator.

In the Inspector change the delay variable to 5 and start the game.