top of page

Forklift safety simulator is a VR experience developed by Waygroup with the objective of training people on the risks and precautions present when operating a forklift, leaving a lasting impact.


This experience was built with the intent of feeling as game-like as possible so many game design and gamification principles were applied.

One of the hallmarks of Waygroup's simulators is their integration with diverse motion platforms that make the players feel like they're operating a real vehicle.

Team size: 7.

Engine: Unreal Engine 5.


  • Early on I was given full responsibility of the project, so I had to take the brief and make sure all the goals proposed were met.

  • I took the brief and expanded it, converting it into a more detailed design doc that would drive the development of the experience forward, that required working very closely with our director.

  • Once the player's goal was clear, I organized a flow doc that showed the progression of the experience, going from picking up simple boxes and putting them on low height shelves, to managing more complex loads that required special treatment and transportation. That ensured there was a continous learning curve for the player without extreme difficulty valleys or spikes. This process gave birth to a quest system that would deliver the player a constant series of tasks that mirrored a normal day of a forklift operator.

  • In parallel to the flow, I organized the list of accident cases that needed to appear throughout the experience on two categories, accidents and warnings, these would serve as the "enemies" or "obstacles" preventing the player from successfully completing the experience.

  • I built the play space ensuring the accidents could be triggered on multiple zones while also being consistent with the difficulty curve of the player's quest.

  • After enough testing and iteration, I made an Excel sheet detailing the 3D assets needed for the experience, then passed it along to the art team. The artists and I worked very closely to deliver on the visual and design goals of the project.

  • I was also responsible for prototyping and implementing every event, case and mechanic (aside from the forklift's movement) present on the experience, ensuring efficient blueprint communication.

  • A lot of balancing was also made on my part to ensure the experience would serve as a fun learning experience to people who have never driven a forklift in their lives while also improving safety practices on experienced forklift operators.

  • I was also in constant communication with the team's sound designer in order to help make impactful audio that would convey the main objectives of the experience.

  • At some point I prototyped a points system that would work in tandem with Waygroup's metrics system (an internal database that measures each player's performance on each experience), giving the player more points depending on their time spent and level of care after completing each task. This was never fully implemented due to time constraints.

  • I also participated in the experience's hardware integration, polishing the way the movement platform's controls behaved inside the experience, giving the player an input system that felt responsive and satisfying to use.

  • From beginning to end, we constantly held playtesting sessions both with different players and forklift experts, iterating on their feedback, adding and reworking some mechanics when needed.

Early stages

Shortly after the start of the project I was given full control of it, therefore it became my responsibility to ensure the goals detailed on the brief were met. The experience consists on a forklift operator that has to complete his daily tasks on a storage warehouse all the while multiple risky scenarios start occuring around them, the objective is to complete all the tasks without triggering any of the possible accidents present on the warehouse.

My first assignment was to come up with a flow that takes into account the tasks asigned to the player and the possible accidents related to each. To achieve this I had to do some research on how a warehouse environment works and how an average day looks like to a forklift operator.

It was really important to create an experience that felt intuitive to both gamers and non-gamers, since the target audience for this simulator was split between people familiar with games and experienced forklift operators.

I quickly defined the success and failure states the player could encounter at any moment of the experience. With success being the completion of all the tasks provided through the simulator (which in turn was achieved by reaching the success state on every individual task) and failure being missusing the forklift in a way that triggered an accident case. After some consideration I decided to put a category in between: Warnings, these would serve as notifications the player would receive after commiting certain errors (such as exceeding the speed limit or damaging boxes), these errors are taken into account but won't result in the complete failure of the experience.

I took the brief and expanded it, adding a detailed guide on each accident and warning plus an structured experience flow. Then, I began building a space around that flow.

The main level

This is how the playable space looked like when I received the project. A small warehouse with some shelves inside it to test the forklift's base movement.

This was my first prototype of the level.

To accomodate all of the accident cases without saturating the player we realized there had to be more than one warehouse, so the level quickly evolved into a bigger space.

A couple of testing sessions were held to ensure the forklift could traverse the level effortlessly. After receiving the green light on the prototype I gave it to the art team along with an Excel doc detailing the main assets needed for the experience, this doc also contained reference images to give the art team an idea of the design goal.

The artists and I held multiple meetings throught this process, it was really exciting to work so closely with them, providing and receiving constant feedback and seeing how the level went from a graybox prototype to a fully realized and alive space was pretty gratifying.

When it came to replace the greybox level geometry with the final assets I sat with one of the artists to give the last visual touches to the level.

Vertical slice

While the art team modelled the assets for the level I started implementing some of the accident cases and mechanics on the level to create a vertical slice that gave the players and the management team an idea of what to expect from the experience. I focused mainly on the first part of the experience, when the player is just starting to get their grips on the powerful and dangerous machine that is a forklift.

I decided the best way to convey the instructions the player should follow was through a little quest panel on the side of the vehicle, that eventually resulted on me creating a mockup of the whole player HUD, detailing not only the quest panel, but also a "warnings" and a "accidents" panel, distributed on different areas of the forklift, depending on their importance.

To visually reinforce the instructions given to the player at the start of each step of their quest I added an outline shader, helping them identify the most relevant objects during each step.


With most of the core aspects set in stone I kept implementing the remaining accidents cases according to the flow I created earlier. I added the respective events and triggers for each case, spacing them out following the flow I created earlier.

During the early phases of development I came up with a point system that would reward players X amount of points depending on how far they reached on their quest, how much time they spent on each step and how many warnings they triggered, that last aspect would work in parallel with the box integrity system where each load would have a given amount of health depending on its type and according to how careful the player was during its transportation, the box would arrive unharmed or damaged (with the amount of damage also being dynamic). The amount of health lost would be subtracted from the player's final point count as a punishment for not being careful enough. All of this would be displayed at the end of the experience (no matter if the player succeeded or failed), letting them know how they performed.

This system would have worked as a complement to the metrics system internally used by Waygroup to registar someone's performance.

As development went on, time constraints and some priority changes resulted in this feature being scrapped. The load integrity feature lived on.