If you tried your hands on developing for virtual reality (VR), you will notice that it is very different from developing a 2D or 3D game. Many of the practices and techniques do not carry over into VR. VR is still a new platform and developers out there are trying new things to make it an enjoyable experience.
After doing extensive research to what makes a great VR experience, it boils down to the UX (User Experience). I am not an expert in UX design, being a back-end developer, so I went out and research about VR UX. This post will summarize what I learned about VR UX design. I am quite happy that I am already doing some of them.
Comfort
The level of comfort the VR experience provides is always a key component to great VR. However, it is now even more important since it is reaching consumers and is no longer in just a pure development phase.
To prevent discomfort and motion sickness, you should avoid rapid or abrupt transitions. This is disorientating even for someone who develops for VR.
Your VR experience should encourage movement, but not require too much movement as that can be disorientating. Movements should enhance the immersive aspect of the experience and not be mandatory.
To avoid eye fatigue, you should avoid bright colors. It also helps to keep the density of objects and information in the user’s field of view (FOV) low. It is not necessary to have everything in view at once.
Your user will be in the environment you created, so make it beautiful to look at. This will help keep the user engage (immerse) and want to keep exploring.
Interface
A Head-up display (HUD) is one of the most used means to convey information to the user/player in video games. The problem with HUDs in VR is that they do not work well without some modifications.
When using a HUD for VR make sure it is in 3D and lock it the environment (it can float). The important thing is not to have the HUD(s) follow the user, as it will be distracting and break immersion. When designing HUD, you should opt for visuals over text. Texts are difficult to read in VR and they need to be very large.
You should avoid attaching any sort of HUD to the user’s head. However, if it is necessary, do not put it in the edges of the user’s FOV. This will cause massive eyestrain to look at the HUD’s content. The HUD needs to be within the center of the user’s FOV to be comfortably viewed.
I have a post about using HUD in VR with UE4. Check it out to get started with HUDs in VR.
Sound
To make your VR experience come to life, you should make use of spatial audio. Instead of a flat sound playing when something happens, the user will actually get a sense of which direction the sound is coming from. This will make them naturally turn towards the sound.
You can take advantage of spatial audio to cue the user to look in a certain direction in VR. This is not easy to do, but luckily most popular engines (Unreal Engine 4 and Unity) for VR development has spatial audio functionality built-in.
Ergonomics
The human arms and legs do not move in straight lines. Therefore, your VR experience should not expect them to. Always account for arc movements instead of straight lines.
Using text is unavoidable sometimes, so when you do need to, make sure it is BIG. Small text is difficult to read and causes eye strain for the user.
Movement
Whenever possible you should restrict motion to only user interaction and inputs. For example, in the menu (when the game is paused) allow the user to look around and move their hands. This applies to cutscenes too. Do not fix the head movement for any cutscenes.
In addition, you should avoid any rapid movements in your VR experience. This is disorientating and in some cases can cause motion sickness.
Interaction
Everything in the environment should be reactive (e.g. reacts to your touch). Try to use real world cues when appropriate. This will feel the most natural to the user.
You can use a reticle when appropriate to let the user know the center of focus of where they are gazing. This will remain as one of the solutions until we have accessible eye tracking.
An alternative to a reticle is to use gaze cues. You can have the experience reacts based on where the user is looking. It can be a hover state, where the user looks in that general direction for some time then the environment does something.
To get started with interaction in VR, you can check out my post about interactions between objects in VR with UE4.
Scale
Take advantage of scale to make your VR experience feel realistic. When the scale is off, it throws your whole VR experience off and even causes graphical issues that can induce vertigo.
I have a post talking about World Scale in VR for UE4. You can refer to it to make sure scaling is right for your VR experience.
I hope you found this post helpful to you. If you found this post helpful, share it with others who may benefit from it.
If you have any questions or feel that I missed something important, feel free to leave a comment. If you are a UX designer for VR and found what I said was incorrect, any corrections will be greatly appreciated.
If you would like to stay in touch, you can follow me on twitter.