Motion sickness is the leading cause of VR game returns. According to research, up to 60% of users abandon games with poor locomotion. We design VR movement systems: teleportation, smooth movement, snap turn, and their combinations. This article explains why proper locomotion is key to player retention and how to avoid common design pitfalls. Our experience spans over 20 successful projects for PC VR and mobile headsets.
Why Smooth Movement Causes Nausea
Motion sickness in VR arises from vection—the illusion of movement when there is none in reality. The visual system tells the brain "we are moving," the vestibular system says "we are still." This conflict causes nausea in 40–60% of first-time users. Smooth stick movement is the strongest trigger for vection, but it can be used with mitigation mechanics. Comparison: a vignette reduces nausea by 50% compared to no dimming.
The primary tool is the locomotion vignette. When moving, peripheral vision (outside 40–50° from center) is darkened via a tinted overlay. The brain perceives movement only in the central zone, reducing vection. In Unity, this is implemented through a post-processing Vignette effect with dynamic intensity tied to speed via RTPC, or using the specialized TunnelingVignette component in XRIT 3.x.
Parameters for a starting vignette: easeInTime = 0.15 s, easeOutTime = 0.3 s, featheringEffect = 0.3, vignetteIntensity = 0.6. All parameters are exposed in Comfort Settings—different players have different sensitivity thresholds. We can tune comfort profiles for your audience—contact us for a consultation.
Teleportation: More Than "Move Position"
Teleportation seems simple, but details separate "works" from "works well." Arc visualization—a parabola from controller to landing point. In XRIT, this is done via XRRayInteractor in Projectile Curve mode plus TeleportationProvider. Parabola parameters: velocity = 8–12, acceleration = -9.8. The hit point is determined by raycasting against Teleportation Area/Anchor colliders with a Layer Mask.
Validity: players must not teleport into air or walls. TeleportationArea only checks colliders, not NavMesh. If validation is needed, create a custom TeleportationArea with an override of ValidateTeleportation that calls NavMesh.SamplePosition.
Orientation after teleport: best practice is letting the player aim their gaze via stick rotation. TeleportationProvider supports MatchOrientation = TargetUpAndForward.
Transition animation: fade to black in 0.2–0.3 s eliminates the abrupt camera jump. Implementation via ScreenFadeProvider that intercepts the teleportRequest.
Tuning Comfort Parameters for Different Players
Most modern VR games use a hybrid system: teleportation + smooth movement + snap turn. The Locomotion System architecture in XRIT supports registering multiple LocomotionProvider instances simultaneously. Important: ContinuousMoveProvider and TeleportationProvider can conflict on simultaneous input. LocomotionSystem has an exclusivityMode—when one provider activates, others are blocked. Priority: teleportation should interrupt smooth movement.
For rotations: snap turn (instant rotation of 45°) causes no discomfort. Smooth turn is continuous, acceptable up to 60–90°/s. Comparison: snap turn reduces discomfort by 70% compared to smooth turn for sensitive players. For action games, a hybrid with 22.5° steps is optimal.
Technical details of vignette implementation
// Example script for dynamic vignette in XRIT
public class SpeedBasedVignette : MonoBehaviour
{
public TunnelingVignette vignette;
public ContinuousMoveProvider moveProvider;
void Update()
{
float speed = moveProvider.moveSpeed; // current speed
vignette.vignetteParameters.intensity = Mathf.Lerp(0.2f, 0.9f, speed / 5f);
}
}
Which Locomotion System for Your VR Game?
The choice depends on genre and audience. For quest and action games, best practice is a hybrid with teleportation priority. For walking simulators, smooth movement with a tunable vignette works. Comparison of locomotion types:
| Type | Comfort | Immersion | Usage |
|---|---|---|---|
| Teleportation | High | Low | Quests, action, beginners |
| Smooth movement | Low | High | Simulators, experienced |
| Snap turn | High | Medium | All genres |
| Smooth turn | Medium | High | Only with smoothing |
What's Included in the Work
- Analysis of target platforms and audience
- Design of the locomotion system (teleportation, smooth, snap, comfort profiles)
- Implementation in Unity (XRIT) with custom elements (NavMesh, animations, vignette)
- Configuration of Comfort Settings (vignette, speed, rotation angles)
- Testing on target devices, bug fixing
- Documentation on settings and integration
- Post-release support (2 weeks free)
This reduces rework costs by 30% and lowers the testing budget by preventing errors. Order turnkey development—we evaluate your project in 1–2 days.
Design and Implementation Timeline
| System | Estimated Duration |
|---|---|
| Basic teleportation (built-in XRIT) | 3–5 days |
| Teleportation + smooth + snap + settings | 1–2 weeks |
| Custom system with NavMesh + transition + vignette | 2–4 weeks |
| Full locomotion system with comfort profiles | 3–5 weeks |
Cost is calculated after analyzing game requirements and target platforms. Get a consultation—contact us to discuss your project.





