Elevator Simulation System (Unity)

  • Interactive multi-floor elevator logic
  • State-driven system design
  • Real-world behavior simulation
  • Built in Unity

  • Problem

    Real-world elevators follow strict rules: they move between discrete floors, respond to user input, and operate with predictable timing. The goal of this project was to simulate this behavior in Unity in a way that is interactive, reliable, and easy to extend, rather than focusing on visual effects or gameplay.

    Approach

    I designed the elevator as a logic-driven interactive system, separating concerns such as movement, user input, and behavior control. The focus was on building predictable, real-world-like behavior using Unity’s update loop and scripted control, instead of physics-based movement. The system responds to floor selection input, moves smoothly between predefined floor positions, and enforces timing constraints to mirror how an actual elevator behaves.

    Key Features

  • Discrete floor-based elevator movement with accurate stopping positions
  • Interactive floor selection controls
  • Controlled, time-based vertical movement (non-physics driven)
  • Clear separation between control logic and movement behavior

  • These choices ensured the system remained easy to debug, reason about, and expand.

    Key Learnings

  • Designing interactive systems benefits from clearly separating logic, movement, and input handling
  • Time-based movement provides more predictable behavior than physics-based solutions for simulations
  • Even simple real-world systems require careful rule definition to feel believable and responsive

  • This project strengthened my understanding of building structured interactive systems in Unity rather than purely visual experiences.

    Tools & Technologies

  • Unity
  • C#

  • Future Improvements

  • Queue-based handling of multiple floor requests
  • Door open/close logic with safety constraints
  • First-person interaction mode (prototype in progress on a separate branch)