Before delving into VR application development, it is crucial to navigate this frontier with a thoughtful approach. The allure of VR comes hand-in-hand with unique challenges and considerations. We recommend navigating through this tutorial to understand the specific requirements and setup necessary before beginning development. After that, review the necessary concepts of the Unity engine, found in the sections: Assets, GameObjects and Transform, Rigidbody and Transform, and Mesh and Material. It is recommended that a design plan is set in stone before beginning development. We also recommend working with a team in order to make the process easier. Additional factors to include in your design plan could be what type of personnel would be necessary to create the VR application. A recommendation would be to have personnel dedicated to the design aspects before having some developers implement the design.
When we set out to create this tutorial, we hoped to create a VR development tutorial that could be followed by instructors and students of all sorts of backgrounds and skill sets. However, after we discovered the complexities and intricacies of VR development, we believe that users without a technological background and skill set would most likely not be able to follow the difficult development process without an extensive amount of additional learning in software.
This does not mean that you can not create a VR application without such background and skill set, but we would recommend you to recruit others with decent programming and/or software development experience to help carry out the development for you. The recruits may or may not have experience with VR as they can learn about it in this tutorial, but decent experience with other development is recommended. If you choose to do so, it would be best to communicate with the team what you have in mind for the design and functionality of the application, as well as keep constant communication for updates and possible roadblocks in the process.
The Meta Quest VR headset was previously known as the Oculus Quest and often times documentation and software still refer to the headset as the Oculus. Throughout this tutorial, you will see references to features and software that still use the Oculus name, so don't panic, and just understand that these two names can be considered synonymous.
The Meta Quest offers a feature called Link, which allows users to connect their headset to a Windows PC using a high-quality USB-C 3.0 cable or wirelessly via Wi-Fi. This makes Windows machines the preferred platform for VR development, but it is important that your device meets the minimum requirements to use this Oculus Link feature. More details on these requirements can be found in the Headset Link subsection in the Setup section of this guide. You can still develop in Unity using a Mac device, just understand that if you would like to test the VR application, it must be done on a Windows device that meets the minimum requirements.
This tutorial is a part of our senior Computer Science and Engineering capstone project "AR/VR Tutorial" at the University of Arkansas, and was sponsored by Jay McAllister. We set out to ultimately create a tutorial that explains the process of designing and implementing virtual reality applications that simulate educational institution laboratory assignments. We had the option of working with virtual reality or augmented reality, and we decided on virtual reality over augmented reality as it is both more common and accessible while also having a developmental process that is relatively easier to implement.
Prior to starting this project, we had no prior experience developing or working with VR projects in any capacity. This required us to perform in-depth research on many different aspects of VR, mainly development and usage. After ample research, we set out to design our own VR application that implements a laboratory assignment. Doing so is the best way to prepare us to create an accurate and in-depth tutorial that covers this subject as it best familiarizes us with the technology and process. The application can also serve as a demonstration or starting point in our tutorial, but the primary goal was to serve as practice for ourselves and as a point of reference for users of our tutorial.
Our VR application and tutorial also seeks to utilize the Meta Quest 2 headset, which is one of the most advanced VR headsets in terms of its features and capabilities. This is to try and demonstrate the highest potential in VR technology currently, despite our application aiming to be simple in functionality.
Our overall objective in this project was to demonstrate how VR technology can be a great asset to the educational setting, and present a tutorial that can help users understand our process so that they can design and implement their own VR applications.