Motion Sickness Prevention Algorithm Development (Comfort Settings) in Games

Our video game development company runs independent projects, jointly creates games with the client and provides additional operational services. Expertise of our team allows us to cover all gaming platforms and develop an amazing product that matches the customer’s vision and players preferences.
Showing 1 of 1 servicesAll 242 services
Motion Sickness Prevention Algorithm Development (Comfort Settings) in Games
Complex
~1-2 weeks
FAQ
Our competencies
What are the stages of Game Development?
Latest works
  • image_games_mortal_motors_495_0.webp
    Game development for Mortal Motors
    663
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    A turn-based strategy game set in a fantasy setting, With Fire and Sword
    859
  • image_games_second_team_604_0.webp
    Game development for the company Second term
    490
  • image_games_phoenix_ii_606_0.webp
    3D animation - teaser for the game Phoenix 2.
    533

Development of Motion Sickness Prevention Algorithms (Comfort Settings) in Games

Motion sickness in VR — engineering problem, not user problem. When player says "I'm getting sick", doesn't mean "has weak vestibular apparatus". Means system didn't implement enough vection reduction mechanisms. Correctly implemented Comfort Settings reduce uncomfortable player percentage from 50–60% to 10–15% — and this measurable.

Neurobiology of conflict: where sickness comes from

Brain continuously compares signals from three systems: vision, vestibular apparatus (semicircular channels + otolith organs), proprioception (body position sense). In real movement all three agree. In VR with smooth movement: vision reports movement, vestibular apparatus — stillness. Brain interprets this conflict as poisoning — evolutionary mechanism historically meaning exactly that. Hence nausea.

Comfort Settings task — minimize conflict: either reduce "amount of movement" vision perceives, or synchronize with real body movements.

Tunneling Vignette: main technique

Locomotion vignette (tunneling effect) — most effective tool. During movement peripheral vision beyond certain angle (usually 40–60° from center) closes with darkened overlay. Central vision continues perceiving movement — necessary for gameplay. Peripheral — no, and peripheral most sensitive to vection.

In Unity: two approaches. First — Post Processing Vignette with dynamic intensity through Volume override. At speed > threshold intensity increases through Mathf.Lerp over easeInTime, on stop decreases over easeOutTime. Works for simple cases, but URP Vignette symmetric doesn't give shadow shape control.

Second — Full-Screen Quad on separate UI layer over everything with custom shader computing distance from UV-center and applying smoothstep darkening. Full control: can make shape not round but elliptical (horizontal width larger than vertical — matches natural field of view), can add subtle grain on edge.

Comfort Settings parameters:

  • Vignette Intensity (0.0–1.0, default 0.7)
  • Vignette Size (angle degrees, default 50°)
  • Enable/Disable toggle

XRIT 3.x includes ready TunnelingVignetteController — use as base with modifications.

Snap Turn and fixed angle

Smooth camera rotation — second worst after linear movement. SnapTurnProvider does instant fixed angle rotation without continuous. But "instant" can be uncomfortable — sharp picture jump without animation.

Improvement: micro-fade on snap turn. On rotate — instant 30% opacity darkening for 0.05 s, turn, then fade back 0.1 s. Total 0.15 s, player barely notices pause, but picture "jump" vanishes.

Optimal snap turn angles per Meta research: 30° for combat games (need direction precision), 45° for adventures, 60° for casual. Make changeable settings.

Reduce Motion: comprehensive setting

Besides locomotion, discomfort causes:

Camera shake — camera shake on explosions, hits. In VR especially bad: physical headset doesn't shake with virtual camera. Solution: instead camera shake — controller vibration (haptic) + visual effects (colour aberration, brief flash) without Camera Transform movement.

Bob animation — camera sway while walking. Adds realism in flatscreen games, in VR — extra vection source. Default — disabled. Let lovers enable.

Field of View adjustments — some VR games dynamically narrow FOV on acceleration. Extreme measure: at FOV below 80° "looking through tube" feeling arises, itself unpleasant. Use only at very high movement speeds.

Acceleration curves — linear acceleration from 0 to max velocity over 0.3–0.5 s instead instant start. Brain better perceives gradual speed increase than instant start. Realized through AnimationCurve on ContinuousMoveProvider.moveSpeed.

Persistent Comfort Profile

Comfort Settings should save and apply before player puts headset on. Ideally settings set at initial screen on first launch through short onboarding: "New to VR?" → auto-set safest settings. Experienced players — standard.

Profile saves in PlayerPrefs or JSON save-file. On device change (Quest 2 → Quest 3) — part settings may change due different headset FOV; provide flag "reset on headset model change".

Task Timeline
Basic vignette + snap turn 3–5 days
Full Comfort Settings with UI 1–2 weeks
Comprehensive system + onboarding + profiles 2–4 weeks

Cost calculated after existing locomotion system and platform requirements analysis.