Heavy stutters due to player movement that advances in uneven steps
VirtualPixel
Hi, this issue has been haunting me for almost a year now, if not longer. Since then I've tried everything under the sun to try and resolve this stutter issue, to no avail. Over time I started to suspect that VRChat itself might be the source of the stutters, here's my findings:
SUMMARY
While walking, the player's position advances in uneven steps: in bursts, one frame moves twice as far as normal and the next frame does not move at all. Frames are rendered evenly the whole time, so frame-time graphs stay flat while the movement visibly judders.
A follow-camera test isolates it, and the attached video shows it. With the camera following the avatar and its smoothing off, the camera stutters exactly like the player's own view. With the camera's smoothing on, the camera is smooth (0.2% irregular steps, against about 25%) while the player's own view keeps stuttering at the same moment. A smoothing filter only hides jumps in what it follows, so the unevenness is in the avatar's position, before anything is rendered.
It has happened in nearly every session for over a year (if not more), in VR and in desktop mode, on two PCs with two separate VR headsets, and after a clean Windows reinstall. Other games on the same setup do not show it. Current build: 2026.4.1p1-1937-299983b13b-Release; the same behavior was measured on 2026.3.3p2-1921-15c4a824b2-Release.
WHAT HAPPENS
The view jumps ahead a frame and then hangs for a frame, repeatedly, while the player walks. It looks like earlier and later frames alternating in quick succession.
- Only while walking.Standing still shows nothing, and snap turning or moving the head does not trigger it.
- Easiest to seewalking left and right while looking at loaded avatars.
- Comes in bursts.Stretches of minutes can be smooth, then it becomes very bad. It usually first shows up within about 10 minutes of joining.
- Depends on the direction faced.Sometimes three of the four walls judder while one direction is completely fine.
- Clears for a whileafter switching avatar, snap turning to another direction, recentering, or going in/out of passthrough on the headset (which triggers a playspace recenter). It comes back after 1 to 15 minutes.
- In every world.The tests below were in Prismic's Avatar Search, a lightweight world.
- Visible in VRChat's own windowand in OBS recordings of it, and invisible in CPU and GPU frame-time graphs.
EVIDENCE, MOST USEFUL FIRST
1. Follow-camera test: the unevenness is in the avatar's position
(The file was too big to attach to this post)
The video is an OBS recording at 90 fps of the VR view with VRChat's camera set to follow the avatar (Look-at-Me). The camera's Smoothed option is off from the start until about 13 s, on from about 26 s to 37 s. Motion was measured frame by frame in the camera preview and in the player's own view.
Irregular steps in each part of the video:
- Smoothing off, 13 to 24 s:camera preview 23.5%, player's own view 23.3%
- Smoothing on, 26 to 37 s:camera preview0.2%, player's own view 26.7%
Share of frames with clear motion whose step differs by more than 40% from the local trend (about 1,000 frames per row). With smoothing on, the preview showed no frozen or doubled frames, while the player's own view kept stuttering at the same moment (13% frozen, 12% doubled).
2. It does not depend on my hardware, install or streaming software
Visible in VRChat's own window (desktop mode and VR) and in OBS game-capture recordings. It also happens on a second PC (Ryzen 9800X3D, RTX 4070 SUPER), with a second Pico 4 headset, and after a clean reinstall of Windows 11 Pro. This rules out my drivers, my installation and the streaming software.
3. Other games on the same setup do not show any stutter patterns
One hour in Resonite on the same PC, headset and streamer showed no stutter pattern whatsoever. In VRChat it usually appears within the first 10 minutes. This rules out the platform around the game.
4. Frame-by-frame measurements: delivery is clean, the pattern is in the frames
Measured in Prismic's Avatar Search with the main monitor at 240 Hz (50 seconds walking left and right past avatars, moving in 94% of the frames):
- SteamVR frame timing:every VRChat frame presented exactly once, none dropped or reprojected, frame intervals even. VRChat's GPU time was 4 to 10 ms.
- Head, controller and thumbstick inputreaching SteamVR: smooth, with no jumps or dropouts.
- The rendered video itself:199 "double-step then frozen-frame" pairs (a frame that moves twice as far as the local trend, then a frame that does not move): 4.2 per second of motion.
It shows that frames are rendered on time and the unevenness is already in their content.
5. The monitor's refresh rate changes how often it happens (weakest)
The headset always ran at 90 Hz. VRChat was relaunched with the main monitor at each rate and the same walk repeated, with the video recorded and measured. Double-step then frozen-frame pairs per second of motion:
- 240 Hz:4.2, 15.7% frozen frames
- 90 Hz:not recorded, felt more or less the same as 240 Hz
- 60 Hz:2.6, 4.0% frozen frames
- 180 Hz:0.1 (4 pairs in 50.8 s), 1.0% frozen frames
One run of about 51 seconds per rate, and the stutter still showed at 180 Hz, slightly less often; placebo cannot be ruled out. It fits the related reports below, which tie movement timing to the refresh rate.
LIKELY CAUSE
An inference from the measurements; VRChat's code was not inspected. The player's position seems to advance in fixed simulation steps and is shown without interpolation. When those steps nearly line up with the frame rate, tiny timing differences put two steps in one frame and none in the next, which is exactly the pattern measured. That would explain why it only shows while moving, why it comes and goes in bursts as the timing drifts into and out of alignment, and why changing the avatar or recentering resets it for a while.
A possible direction: interpolate the local player's position between steps, or advance locomotion in the render update using the frame time.
Related VRChat feedback
- Camera positional movement stutters when walking; update rate is not tied to FPS (March 2025, 4 votes, no staff reply when last read) describes the same symptom on desktop: walking movement is jerky while looking around is smooth. It does not mention VR.
- Udon cannot change Fixed Timesteps (closed in April 2024 as not planned) states that VRChat's fixed timestep is 1 divided by the refresh rate.
HOW TO REPRODUCE
It does not happen on demand: expect smooth stretches of several minutes between bursts.
- Join any world (the tests used Prismic's Avatar Search, a lightweight one) and load a few avatars.
- Open VRChat's camera, set it to follow the avatar with Look-at-Me, and keep the Smoothed option off.
- Walk left and right with the thumbstick while watching the avatars in your own view and in the camera's preview.
- When the stutter starts, it shows in both. Switch the camera's Smoothed option on: the preview becomes smooth while your own view keeps stuttering.
Expected:
the player moves the same distance every frame while the stick is held.Actual:
bursts where one frame moves twice as far as normal and the next frame does not move at all.SYSTEM
My system is very high-end and powerful, and has been configured and tweaked to have no compromises, no bloatware, and is highly optimized for maximum FPS, minimum frametime and the best performance possible.
- VRChat:2026.4.1p1-1937-299983b13b-Release (current). The same behavior was also measured on 2026.3.3p2-1921-15c4a824b2-Release, but the problem has been haunting me for almost 1 year now, so it goes way back.
- PC:AMD Ryzen 7 9800X3D, NVIDIA GeForce RTX 5090 (driver 610.88), 64GB DDR5, Windows 11 Pro
- Display:main monitor 240 Hz (the monitor-rate tests changed this), 1920 x 1080
- Headset:Pico 4 (two units tested) at 90 Hz, streamed over dedicated 5 GHz Wi-Fi with ALVR 20.14.1, but wired makes no difference either. The pattern also appears in VRChat's own window, so it does not depend on the headset or streamer.
- Second PC:Ryzen 9800X3D, RTX 4070 SUPER; same stutter pattern result
WHAT I ALREADY TRIED
None of these removed the stutter:
- Other hardware and a clean install:a second PC, a second Pico 4, and a full Windows 11 Pro reinstall. No dice.
- Streaming and network:a strong, stable dedicated 5 GHz link (-41 to -45 dBm, 866 Mbps, ping median 1 ms, max 6 ms) and wired instead of Wi-Fi. A custom ALVR headset client that cut the headset's GPU time per frame from 6.5 ms to 2.8 ms, and a modified ALVR streamer driver that reduced the frame-interval jitter on the PC from 0.25 ms to 0.035 ms. The pattern was the same each time.
- Long frames in VRChat:the occasional 100 to 400 ms frame while content loads causes separate, short freezes. During the stutter described here VRChat's GPU time was 4 to 10 ms.
If you need any more data or information, I'm more than happy to provide it when asked.
Transparency note: this report was written with the help of Claude, since I suck at writing without loads of grammatical errors. The issue is very real though, every number comes from tests and measurements on my own systems, and all findings are my own.
Log In