Search Issue Tracker
Fixed
Under Consideration for 2022.3.X, 6000.0.X
Fixed in 6000.3.11f1, 6000.4.0b12, 6000.5.0a6, 6000.5.0a8
Votes
8
Found in
2022.3.64f1
6000.0.54f1
6000.1.12f1
6000.2.0b10
6000.3.0a2
6000.4.0a1
6000.5.0a1
Issue ID
UUM-112011
Regression
No
Built project stutters intermittently when Vsync is enabled
How to reproduce:
1. Extract and open the attached “IN-105370.zip“ project
2. Build and run the project
3. Observe the Built project
Expected result: The cubes move smoothly without stutter
Actual result: The cubes intermittently stutter with Vsync on
Reproducible with: 2022.3.64f1, 6000.0.54f1, 6000.1.12f1, 6000.2.0b10, 6000.3.0a2
Reproducible on: MacOS 15.5 Silicon
Not reproducible on: Windows 11
Notes:
- Stuttering doesn't happen when vsync is disabled, stuttering also occurs when setting Vsync to every second V blank
- Stuttering also occurs in the Editor Play Mode, with Profiler enabled
- This issue is about Mac Standalone Player only. For the Mac Editor see
UUM-85256.
Comments (8)
-
HofiOne
Mar 28, 2026 22:16
I can also confirm that the stuttering is much less noticeable when using Unity 6000.5.0b1 with CAMetalDisplayLink=ON.
However, it is still not 100% perfect (this can be tested in https://github.com/HofiOne/Unity-macOS-Scroll-Jitter-Demo/tree/6000.5 using the 6000.5 branch).Thank you for the fix — hopefully it can be backported to older Unity versions as well, such as 2022.3.x and similar.
-
Ashanex
Mar 10, 2026 19:27
I want to confirm that after testing Unity 6000.5.0a8 this seems to have been fixed by enabling in Project Settings > Player > Other Settings > "Use MetalDisplayLink".
After enabling the project runs PERFECT.
Stutters are complete gone both with Vsync ON and OFF. It also fixes other stutters that I thought were unrelated.
I had a large but simple object in my project that when spawned it would completely freeze the game for 5+ seconds. I thought it was because it was also enabling some post processing effects on spawn but nope, completely gone after this. Curiously I just discovered also that this particular freeze stopped happening when building in Mono instead of IL2CPP.
I've tested turning "Use MetalDisplayLink" ON and OFF to fully confirm and yep, turning it OFF makes all stutters and the Freeze come back instantly.
Thanks Unity team! I've been suffering from this stutters for 5+ years but I guess better late than never :)
I hope it also gets added to Unity 6000.0.*
-
Ashanex
Feb 10, 2026 12:21
Apparently this may have been fixed already in version 6000.5.0a6, as this entry has been added to the release notes:
macOS: Added support for CAMetalDisplayLink on the Mac Player.
It is disabled by default and can be enabled in Player Settings by toggling "Use MetalDisplayLink (Mac Player only)" or by using the environment variable UNITY_USE_METAL_DISPLAY_LINK=1.
Using CAMetalDisplayLink decreases stuttering, improves frame pacing, and makes Time.deltaTime more stable.I still haven't tested it but I've got my hopes up.
-
Ashanex
Jan 31, 2026 13:41
Will this be fixed in other Unity versions such as 6000.0, and 6000.3?
-
HofiOne
Jan 31, 2026 08:00
"Under consideration for 2022.3.X, 6000.0.X, 6000.3.X, 6000.4.X"
Really?
This is a very serious problem that affects thousands of games, where projects clearly cannot be switched to a version that does not officially exist yet.
Then what does "LTS" mean in those version names?
-
HofiOne
Jan 31, 2026 07:51
This is the same issue I faced in my project, and I reproduced it in this Unity 2022.3.62f3 example:
https://github.com/HofiOne/Unity-macOS-Scroll-Jitter-DemoIt is unbelievable that this serious issue is still not fixed, as it renders games unenjoyable on macOS.
-
Ashanex
Dec 07, 2025 23:46
I'm not 100% sure but I think the stutter happens even with Vsync OFF on Mac. But because there is a lot of screen tearing it's harder to see the stutter. Turning Vsync ON helps the stutter to be more visible.
-
CodeGordon
Nov 04, 2025 14:01
This is a critical issue! It's not possible to release anything on MacOS as long as this remains unresolved.
Please advise any workarounds that can be applied locally.
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Texture2D hash changes inside of an AssetBundle when rebuilding a SpriteAtlas bundle with an empty AssetPostprocessor Script enabled
- Aniso Level still applies when Generate MipMap is disabled in Texture Import Settings
- Mipmap Limit Groups long names are not truncated when creating a new Mipmap Limit Group with a long name
- “ArgumentException: Invalid double parameter.” error is thrown when Infinity is typed into the Fixed Timestep field
- GameObject becomes gray when using HDRP and STP together on macOS
Resolution Note (fix version 6000.5.0a6):
Fixed in 6000.5.0a6
Resolution Note (fix version 6000.4.0b12):
Fixed in 6000.4.0b12
Resolution Note (fix version 6000.3.11f1):
Fixed in 6000.3.11f1