It's 2021, and VR is still a new and exciting world for developers to explore, but even after years of development and progress, mistakes are still being made that leave VR users feeling motion sick.
My name is Davy, and while I don't claim to be an expert in all things VR, I am committed to the industry and helping it grow. I've been working in VR development since 2017, I've made VR simulations, games, I've played VR E-Sports at a professional level, and now I own a VR game development company. Here are some of the VR developer mistakes I've made, and some still being made throughout the industry. Also, I'll be sharing some of the secrets I've learned along the way.
Don't move the user's camera - Nothing will make a user feel sick faster than moving their camera for them. They can move it themselves, sure, but don't go adding camera shake, or having enemies bump or drag them around too much. Even physics that push back at the camera are nauseating.
Secret: It's all about anticipation - A user that knows what movement is about to happen will expect it and feel more comfortable. Do everything you can to foreshadow non-user based camera movement.
DO NOT rotate a third person camera. Ever. (Example: Lucky's Tale) Having the camera on a rail is fine, but if that rail bends and turns, you are making people sick.
Provide visual anchors- much like a pilot needs a horizon to know which way is up or down, VR users need the same. Give your users something consistent like a cockpit, a rail, something that they can focus on as they move. For our first VR game, SweetTooth, a flying unicorn game, we quickly learned that because the player is constantly flying up and down, they needed the character to remain static in view. The unicorn, although animated, acted like an anchor and did not move in relation to the user.
Secret: Textures and props can help ground the user - Use lines and static objects in your environment. Create a framework, something on which a user can visually orient themselves.
DO NOT use repeating patterns close to the user, they can easily cause a strobing effect which is disorienting and uncomfortable. (Example: a brick pattern in an fps)
User's choice - Everyone does things differently in VR. Smooth turning is becoming more popular with newer hardware running at higher framerates, but make sure you allow movement customization - snap turn, smooth turn, turn sensitivity and speed, look direction locomotion. The more customization you can include without breaking the mechanics of your game the better.
Secret: settings customization, or customization of any kind, is a easy way to impress your users.
DO NOT rotate the user's camera from anywhere except their head. (Example: Oculus Rift home scenes) I don't understand how a company like Oculus could get this so horribly wrong, but they did.
I hope that some of these tips help you make a better game or application, they've proven to be a good guideline for some of the things I've made. People are getting more comfortable with advanced locomotion in VR - much like a figure skater practices spinning on ice - it takes time to get used to VR locomotion.
I can't believe I used to say smooth turning and locomotion would always make people sick in VR. I'm glad I was wrong.