Hi everyone,
I’m developing a 2D adventure game in Unity 2022.3.17f1 with 2D URP, and I’ve run into a display issue I can’t seem to solve.
Setup:
- Character movement uses
NavMeshAgent together with NavMeshAgent2DOverride
- Camera follows the player via
CinemachineVirtualCamera
The problem: When I play the game on my 1920×1080 @ 144Hz monitor, character movement is perfectly smooth.
However, when I switch to my 2560×1440 @ 144Hz monitor, the sprite edges show heavy ghosting accompanied by screen tearing while the character is moving. It looks really bad. Interestingly, the moment the character stops moving, the sprite goes back to looking completely normal — the artifacts only appear during movement.
Video demonstration: Here’s a clip showing the issue: https://drive.google.com/file/d/1U43lWTu4dHrjd3Txm_F5tENUlF0KP7qz/view?usp=sharing
Note: I could only capture this footage using my phone camera, since screen recording software doesn’t pick up the ghosting/tearing artifacts.
Things I’ve already tried (none of them fixed it):
- Toggling VSync on/off
- Adjusting / capping FPS (target frame rate)
- Changing CinemachineBrain → Update Method to FixedUpdate
- Disabling Post Processing entirely
- Setting CinemachineVirtualCamera XYZ Damping all to 0
I’ve searched through multiple forums and tried every solution I could find, but the issue persists specifically on the 1440p monitor. Both monitors run at the same 144Hz refresh rate, so I’m puzzled why resolution alone would cause this.
Has anyone encountered something similar? Any ideas on what could be causing the ghosting/tearing to appear only at higher resolution during movement?
Thanks in advance!
The good news is that there’s actually nothing wrong with your Unity project or your sprites. What you’re experiencing is actually a hardware limitation of your monitor.
A rule of thumb as a developer: if you can only capture a visual glitch with your phone camera or your eyes, but it doesn’t show up in a direct screen capture (like Print Screen or OBS), it’s almost certainly a display artifact rather than a software bug. We see posts like this pretty often, so you’re definitely not alone in thinking it was a Unity issue.
What you’re likely seeing is related to your monitor’s response time (how fast the pixels can physically change color). This “ghosting” or smearing effect is especially noticeable with high-contrast images (black/white being the worst), since the pixels have to do a lot more work to change states. If you want to test your monitor’s capabilities, a great tool is Display Test (Response) (Pursuit Text being the best) or maybe Blur Busters’ UFO Test.
Also, regarding the screen tearing you mentioned: if you’re seeing tearing, it means VSYNC is actually disabled, even if you turned it on in Unity. Sometimes, your graphics card driver (like the NVIDIA Control Panel or AMD control etc) will override Unity’s application settings. Software renderers process entire frames at once, so displaying half of one frame and half of another is strictly a hardware/GPU-level thing.
I’d recommend checking your GPU control panel to make sure it’s letting the 3D application control VSYNC.
There is ghosting, but there is no screen tearing. The latter would be a horizontal line that spans the entire width of the monitor due to vsync being disabled. But it looks like vsync is on.
As Melv said, this is a monitor issue. Most likely the monitor either has a LCD panel that’s generally very slow to update pixel colors/brightness (afterglow, VA panels). Or more likely it has this common “feature” of gaming monitors enabled: overdrive.
This overdrive intends to improve the LCD refresh rate by overshooting the actual pixel brightness and then letting it swing back. This brings the time down to switch between black/white pixels and those measurements make for good marketing while nobody actually sees the ghosting artifacts around high-contrast areas in motion that this overdrive feature tends to generate before making the purchase decision.
In other words: turn off overdrive mode if the monitor has it, or tune it down significantly. It makes for really terrible image quality. If possible, put it in “gaming” mode which would normally disable all “image enhancing” features, some of which could also cause ghosting artifacts. And if contrast is set to max, which many monitors unfortunately default to since it makes them look better in stores, tune down the contrast.
Thanks for the quick response.
Also, with the Display Test (Response) and Blur Busters’ UFO Test you provided, I can confirm that the ghosting issue is indeed a monitor issue.
I recorded another video with OBS — here’s the link: https://drive.google.com/file/d/1eYpESK6XHqX0rOazcFBqvqNzPx-JXV66/view?usp=sharing. I also adjusted the in-game VsyncCount. When moving around, especially near the trees, there’s some flickering, and occasionally there’s a noticeable flicker that really hurts the overall gameplay experience. I’ve also confirmed that V-Sync is disabled in the graphics card control panel.
Are there any other possible factors I should look into? Or should I just start working on performance optimization?