A virtual reality framework built with Unity that allows users to switch between scenes.
The application is designed to showcase display homes.

The company I interned with had been working on offering virtual reality (VR) display homes as one of their services, with multiple investors interested in the project’s potential.
A developer, who was working with a team of 3D modellers, had used Unreal Engine to create a beautiful home in virtual reality. This application was designed for use on the HTC Vive Pro; it had high-quality lighting and textures, and was very impressive to explore. This prototype was functional with teleporting capabilities and a series of menus that came off the controllers, although the company I was working with was told it required an expensive custom-built computer. Furthermore, they didn’t know how to incorporate multiple homes into one application, and the UI/UX was clunky. With the goal being to offer the VR services nationwide, this approach was not going to be lucrative or sustainable.
My boss got his hands on a HTC Vive Focus, which is a standalone virtual reality headset. Much less powerful but also much cheaper than the Vive Pro, the Vive Focus offered a far more convenient and self-sufficient solution. I was assigned the task of figuring out how to use it. Soon after, I went on to develop the framework for an application that would allow the user to navigate virtual spaces and switch between scenes, thus allowing for one application to showcase multiple display homes.
As the prototype had been developed using Unreal Engine and I had only worked with Unity, the process began with extended research into the workings of both the hardware and the software, with the goal of deciphering the best approach. I identified the project’s goals, and prioritised them, whilst working to document the process so I could inform the team of my findings in case they were able to identify something I had missed or provide an alternative perspective. With the company’s Creative Director stating he wanted a fresh set of eyes on the project, I reported back to him with my findings and made some suggestions so we could decide how to move forward.
As the Creative Director has taken on multiple interns over the years, along with the learning curve and the differences in coding languages, the decision was made to start from scratch and develop the framework in Unity, as opposed to Unreal Engine. This decision meant I could get straight into it, and future interns could also pick up the project quite quickly, as we are taught Unity as a part of the Interactive Media and Design degree at Bond University. 
Having built my own virtual reality experience using the HTC Vive, as well as having developed Android applications, these beginning research stages weren’t entirely alien to me, however, it was a great opportunity to update my skills with new technology as well as to apply what I had learned in other exercises to new scenarios.

In attempt to acquire an accurate estimation of how the hardware may deal with the high-quality 3D model of the display homes I had witnessed in the prototype, I decided a good place to start would be to see if I could get my studio project onto the HTC Vive Focus. Although my models were nowhere near as impressive as the professionals’, my scene had multiple rooms, particle effects, and shadows, so I decided it would be a fine tool for testing. 

The Focus is a mobile Android device, so it requires a different approach and alternative SDKs than what I had experience with when developing for the HTC Vive. Also, developing on a Mac meant extra fun when searching for tutorials and information, especially as the Focus was only very new at this stage. Using Android Studio, I installed the required SDKs, and following some tests using different virtual reality prefabs, I implemented the Vive Input Utility. This asset was great; it offers cross-platform compatibility, prefabs, and sample scenes that made the process relatively simple. 
Through the use of Android File Transfer, and with a few tweaks to the quality settings, we had a functional virtual reality scene running on the HTC Vive Focus! I must say, the Focus allowed for a very streamlined workflow when developing and carrying out testing. Pictured above is a staged photoshoot of me recreating what I would look like when testing the project, although, in reality,  I’m just posing for my webcam to see how futuristic I look to colleagues and clients. The Focus allowed me to transfer the new project file from my Mac to the device, and have it installed and running within a matter of minutes, without even needing to stand up.
By observing the sample scenes that came along with the Vive Input Utility package, I was able to implement teleportation and various methods of interaction. In the images below, you can see two examples I was testing. 
The example seen in the image on the left required the user to teleport up close to the photographs of the houses and then reach the controller out so it would collide with the picture frame, before pressing the trigger to initiate a scene change. This system was awkward, especially with the Focus, as its trackers are not as flexible as the other Vives. As the application will be used by a wide audience, it needed to be as intuitive, simple, and user-friendly as possible, so I kept investigating until I figured out an alternative approach.
The image on the right is the second solution I developed. In order to interact with this menu system, the user needs to press one button to switch on their controller’s laser, they can then point it at any one of the photographs and press the trigger to select it, thus initiating a scene change. This approach was more user-friendly and flexible, as users could navigate to a different house from across the room if they wanted to. The laser also provides visual feedback when it is pointed at something that can be selected, so the user experience is more intuitive.

I then built a room that could potentially act as the gallery space whereby users could navigate to the various display homes. At the very least, this activity provided a more professional way to showcase the functionality. The space was developed through the use of some free assets that were then modified and re-textured.

I later returned to the project to spruce it up a bit; I added a skybox, altered the lighting, and implemented a first person character controller which allows you to walk around the space throughout the development process, without needing to build the application out to the virtual reality device.

Please see below for a rough little video of the gallery space for the virtual reality display homes.

Working on this project was a great experience. Having developed similar things whilst working on my university coursework, this project was a great opportunity to update my skills to match the new technology. It provided me with a purpose and a new situation for me to apply my skills to, whilst developing additional skills along the way. 
At university, we were usually provided with methods that we were encouraged to use. However, for this industry project, it was my responsibility to research the options and make recommendations to the Creative Director. Having already established habits of ensuring my work is thorough, this opportunity gave me confidence and allowed me to be involved in something I was passionate about.
It has also been great, as the project has provided me with opportunities to collaborate with other professionals in the field. When discussing the project with the 3D modelling them, for example, we were able to identify possible solutions for the processing limitations associated with the HTC Vive Focus. It was incredibly valuable for me, as a student, to have this hands-on industry experience.
The project is on hold at this point in time, and it is hard to say where it will go from here as my internship has come to a conclusion. Although, I hope to be involved in future team meetings so I can help with connecting the framework to the display homes and continuing the process of bringing this project to life. 
On a personal level, I hope to continue developing for virtual reality as I really enjoy the processes that are involved. It will be exciting to see how the medium becomes increasingly accessible, and I would love to work on making connections to more educational contexts.