Dietitian VR is a simulation for the Meta Quest made for students of dietetics. There are a total of four different modules, each showcasing a patient with a different condition and very different attitude.
My Role
I worked in Unity and C# for years before beginning this project, but had only dabbled in VR. This was my first real virtual reality project, and oh boy did I have my work cut out for me.
The project was initially going to focus on procedure, including a segment about how to properly place an NG tube. I even built a prototype that included a somewhat crude NG tube placement segment. However, we eventually decided that those types of interactions could better be handled by the real-world dummies that were already available. After much deliberation, we agreed that the focus should be more on the actual dialogue between dietitian and patient, specifically when dealing with difficult or non-compliant patients.
With the educational goal decided, it was time to get to work. Our artists at NMSU did a great job on the character models, textures, and animations. I handled everything on the Unity and programming side. I also lent my voice to the character “Angry Craig” and the narrator, and even modeled some of the hospital room objects in Blender. I used a dialogue engine called “Ink” to set up the dialogue interactions based on the script provided by the UConn team. The rest of the programming was done in C#. I wasn’t given many guidelines or specifications, and took some liberties with the features in order to make the simulation more immersive and interactive.
What I Learned
Put simply: VR is hard. The project was complicated by the fact that the branching dialogue scripts were long, and all of the lipsync work and animations were time-consuming for our animators to make and for me to implement. We were hindered by some complications with importing Blendshapes into Unity, and the animators had to re-work some of the assets. Additionally, some major changes to the controls (changing from motion controllers to hand-tracking), re-writes to the script, and other changes midway into development made an already tough project that much tougher.
Despite the difficulties, the modules were effective and immersive. I also gained valuable experience not just on working in Unity, C#, and virtual reality, but with managing scope and communicating with clients about technical specifications and limitations to ensure the final product satisfies all parties involved.
Credits: Game Design, Lead Programmer, Audio, Voice Acting