PixoVR was my first foray into professional Unreal Engine development, and what an introduction it was! We specialized in VR training for industries such as natural gas, construction, and warehouses. I worked on many different projects at PixoVR, some of them on small teams and some as the only programmer on the project.
At PixoVR, we were constantly pushing to use new technologies, adopting the Oculus Quest, Pico Neo 2, HP Omniscept, and many other new headsets. As such a big part of my job was porting over projects I had previously written to new headsets, often with a lot of optimization and re-work, to handle the lower performance of a standalone mobile headset.
I worked on many modules, and here's a brief summary of some of my favorites:
Fall Protection
Fall Protection was one of the first modules I got to work on. You entered the simulation as a construction worker working on a high-rise building. You had to inspect your harness and make sure it wasn't damaged or out of spec, and then you grabbed all the necessary tie-offs and tethers, before taking the elevator up to the scaffolding, about 20 stories above street-level. Once up there, you would latch the tie-off onto the correct tie-off points, and if your harness was connected properly, when the scaffolding would break, you would be left dangling by your harness. If not, you'd fall! In VR, it's a lesson that's not easy to forget, that's for sure.
Safety Sweep
Another one of our most popular modules, Safety Sweep was built to help people spot safety concerns or out-of-place items in a warehouse. The user would spawn into a warehouse and have to point out all of the flaws, safety issues, and out-of-code items. Some of the abnormal operating conditions (or AOCs) were things like scissorlifts left in front of large bay doors, palettes stacked out of place, or palettes wrapped incorrectly. Due to the randomized nature of the module, this was a big modularity challenge. We built the module so that only a set number of AOCs could show up at a time, and of those, we reduced (but did not eliminate entirely) duplicate AOCs, so the user couldn't just think they were cleared of a specific AOC if they found the first one.
Venue Management
Our biggest and best module was our Venue Management module. This was our largest project by a mile and is also the one I'm the most proud of. Users enter as a sporting venue's general manager and have to handle situations as they arise. Venue GMs are equipped with both a cell phone and a walkie-talkie radio, and have to choose the appropriate one for each situation, as the radio can alert (and alarm) bystanders in certain cases. We built multiple scenarios in the sporting venue, which meant we had large dialogue scripts and lots of different questions to manage. We had originally built them all in Data Tables with references to Question IDs, Answer IDs, etc., but this was (understandably) too much for designers to handle and led to lots of mistakes or dead-ends in the dialogue. I built a visual dialogue manager based off of the Animation Graph system, where the designers could add their dialogue items, draw arrows to what comes next, and branch out from there. Additionally, this was a very large module in terms of scale, including an entire stadium filled with thousands of people walking around, sitting in the stands, and even a fully animated basketball game. As you might imagine, there was a lot to optimize. Unfortunately, due to confidentiality agreements, I can't share any images from this project.


