Designing out Cybersickness in Virtual Reality

Cybersickness is a problem for the VR industry. Consumer adoption is slow and too many people are being turned off by poor experiences or hearing about those of others. This has to change, and everyone in the industry can do something about it - it’s not just a problem for the developers. In this article I'll give a little background but mainly focus on the implications for development teams working in this space.

I’m not going to delve too deeply into the theories behind cybersickness, there’s a good analysis from the University of Quebec for those that are interested.

Note: I’ve chosen to use the term cybersickness, though it is also commonly known as simulator sickness or VR sickness. I’ve also heard it being referred to as motion sickness, though this may not be entirely accurate.[1]A VR problem?
Cybersickness is not unique to VR, but its seems to be more commonly reported. This may be for a number of reasons:
  • Technology - commercial VR is relatively new, a smooth experience requires quite high hardware specifications. However, VR applications are available on a wide range of devices some of which may not be up to the job
  • Content - the causes of cybersickness have not always been well understood by all sections of the industry resulting some content that does not address this problem
  • Hardware - the majority of VR experiences require the use of a headset. The presence of a screen in close proximity to the eyes attached to a heavy and unwieldy headset is an uncomfortable and novel experience for most users
  • Context - the whole point of VR is to create an immersive experience, this in itself may be contributing to the problem due to a mismatch between perception and reality

Avatar suffering from cybersickness

Why VR development teams should care?

Clearly, if users become sick from using your product then you are unlikely to achieve your development goals, you may lose customers for future products and have negative marketing. But there are several other reasons for wanting to prevent cybersickness:
  • Adoption - This is one of the issues that is holding back consumer adoption in general, every sickness inducing experience is of further detriment to the industry
  • Audience - Estimates of the number of people that are susceptible to cybersickness vary wildly with one report claiming up to 80%[1]. In my own user research experience, occurrence seems to be linked to the quality of the application but I’ve yet to find an experience where no-one is affected
  • Accessibility - Cybersickness tends to affect some people more than others so is an accessibility issue, but small improvements can make a significant difference to the incidence
  • Immersion - VR is all about immersion and nothing spoils that faster than the experience of nausea
  • Promotion - VR fans that do suffer from cybersickness will be happy to promote an experience in which they do not suffer

The main suspect - perceptual mismatch

The full causes of cybersickness may not be completely understood, but the main culprit seems to be a disconnect between user actions and user perceptions, in other words: the difference between what the user is doing and what they see. An example might be where the user turns their head quickly and there is a lag in the responsiveness of the headset causing a delayed visual update. Alternatively, it could be when the user is stationary but they get the perception of movement. Even a mismatch of microseconds can be enough to trigger cybersickness symptoms.

This mismatch does not have to be related to movement but could be other factors such as physics and biology. For example the user’s perception of their body position in comparison to their in display avatar’s body (or parts of the body: arms, hands) or the behaviour of gravity in the environment.
Other factors may exacerbate the problem whilst not actually causing it, (e.g. discomfort, heat, noise, excessive brightness) these are well to be avoided too.

What can we do about it?

OK given that we accept that it’s a problem and the causes are not fully understood, what can we do to minimise the risk? Actually quite a lot. The following suggestions are based on my online research and vocational experience.

Controlled movement

Whenever possible, the user should be in control of their own movement. If the context does not allow this (maybe they are being taken on a journey e.g. on a river, in a vehicle), the user should at least always be in control of where they look. Head motion should be tracked at all times, if this is not possible for some technical reason (perhaps on loading) then the image should fade out and then back in when tracking can be maintained.

Uncontrolled movement or appearance of movement should be avoided:

  • Vection - the feeling of movement caused by the movement of another object that occupies a large portion of the visual field e.g. when sitting in a train and the neighbouring train moves causing you to perceive that you are moving
  • Acceleration - physical acceleration is felt by the body due to force acting on it whereas constant velocity is not, removing virtual acceleration will avoid the disconnect with the vestibular system
  • Elliptical movement - causes three dimensional acceleration even though the speed on the ellipse may be constant
Allow choice of locomotion options. Default locomotion may not be suitable for all users. There are a many options available in addition to the usual joystick control, including:
  • Teleportation - if using this, avoid long distance jumps or allowing rapid continuous jumps
  • “Snap” rotation
  • Gaze movement
  • BodyNav
VR Comfort mode explained

Whilst considering movement options it’s worth noting that common gaming options of strafing and moving backward are not advisable in VR. These are not forms of motion that people generally use in the real world so can cause a disconnect.

Optimise performance

Oculus and HTC recommend that VR applications run at 90 frames per second. High frame rates should help mitigate against lag and other performance related issues such as screen tearing.

Screen tearing example
Screen tearing example from “Enslaved: Odyssey to the West”

For mobile applications that run on phones in devices such as google cardboard, the aim should be to keep the frame rate at or above the device’s refresh rate. Many current phones only have refresh rates at 60Hz.

From a design perspective, it’s important to consider the context of the device that you’re designing for, you may not be able to control the device settings, but you can influence how taxing the experience is on the CPU and GPU. It maybe necessary to provide a less frenetic experience for lower-end devices, have quality options, remove compatibility or at least provide a warning where the device does not have sufficient power to run the full experience.

Reduce mismatches with reality

Consider the user’s avatar, do they need one? If so maybe limit it to the interface (hands or tools). Including other parts of the body (such as arms) can create a mismatch if they are not tracked.

Remove “head bob” and “weapon (or tool) sway” - these are frequently used in games to add realism and simulate movement, but are not needed in VR.
Add a frame of reference - a static reference point helps to orientate the user in VR, these can take many forms:
  • Fixed horizon
  • Reticle (e.g. camera focus or weapon sight)
  • Cockpit canopy or helmet
  • Head Up Display
  • Virtual nose
Static reference helps avoid cybersickness
Canopy provides static reference in “Radial-G: Racing Revolved”

Reduce the realism - this may sound counter intuitive especially if we want to encourage immersion, but it’s been shown that cybersickness due to mismatches is related to the level of realism in an experience.

Visual environment design

VR works well when the user is immersed, so consider how you treat that user and don’t do things to them that would be uncomfortable in real life:
  • Don’t stick things in their face, give them personal space
  • Avoid flickering (maybe due to aliasing or model overdrawing)
  • Keep flashing to a minimum - this can cause epileptic seizures and is generally unpleasant for most people
  • Avoid distortion or movement blur, especially around the periphery where the human eye senses movement
  • Don’t force the user to perform repeated actions that can cause discomfort e.g. repeated eye re-focusing or looking over their shoulder

Motion blur in the game “Witcher”

User control

While you’re considering the user, why not give them options to do things their way and make the experience as comfortable as possible - they’re more likely to enjoy the experience that way:

Give the user control of the audio and brightness levels, and avoid sudden changes in level or high contrast during the experience
Some people cannot “play” for long in VR, so give them the option to save their progress, reach a checkpoint or pause and resume
Consider “comfort mode” setting options such as narrowing the field of view when the user moves or turns, defaulting to reduced brightness or limiting certain effects

Comfort mode screenshot helps users deal with cybersickness
The game “Pollen” provides comfort mode options such as snap turning and reduced head-bobSource:

In conclusion

There are some technical aspects that need to be considered and that are likely to go away as the technology advances over time. But as in most (if not all) products, design plays an important part and can make good technology worse as easily as it can make bad technology better.

In summary:

  • Let the user control the experience 
  • Don’t move users virtually if they’re not expecting to move 
  • Give them options to control and configure their experience 
  • Treat them like you would in real life 
If we design with users in mind we are likely to produce a better outcome for all.

[1] Motion sickness occurs when the body is moving but the brain’s perception is that it is stationary. Cybersickness is the reverse of this: the brain perceives motion whilst the body is stationary.

[2] Note: this report was not exclusively about VR