2D Sprite Graphics Glitching, Skewing, Flickering, Crazy, Haywire

Every so often on Windows PCs, two different 2D projects from different Unity versions have the graphics go haywire. Sprites skewing, glitching and… well, doing what the title says. It’s difficult to describe precisely, so here’s a video demonstrating the general effect:

This comes from a project built in Unity 5.x, and now it’s happening again in 2017.2 with an entirely different project. Some facts:

  • Games are developed on OS X, where it doesn’t appear to happen. It’s worst on our Windows 7 PC (in builds and the Editor), but it’s also happened mildly in 8.1. Specs:

Windows 7: Intel Pentium CPU G630 @ 2.70GHz, Dual Core, 64-bit System, 6GB RAM

Windows 8.1: Intel Celeron CPU N2830 @ 2.16GHz, 64-bit System, 4GB RAM

  • It varies in extremity from not really happening to practically unplayable. No constant that I can find, no conditions regarding performance, the PC’s workload or anything like that.

  • In the 2017.2 project it’s most likely to happen in scenes with lots of sprite tiling, but in the video there isn’t a single tiled sprite.

Anyone ever seen anything like this, or have any ideas as to what might be causing it?

Update 1:

It behaves about the same regardless of whether VSync is set to Don't Sync or Every V Blank, but interestingly, setting it to Every Second V Blank makes it extra bad–and on both Windows 7 and 8.1.

Gif from the 2017.2 project:
Glitch

Screen resolution/full screen doesn’t seem to matter, and even with the Every Second V Blank madness it only really seems to happen when sprite tiling is involved (again, in the newer project)–and in fact, possibly only when there is more than one tiled sprite on screen.

Update 2:

Been digging and trying things out here and there, but still no real headway on this. Couple of new notes:

  • Witnessed it happening bad on the Every Second V Blank setting on a gaming powerhouse Windows 10 PC. Specs seem unrelated at this point.

  • It doesn’t seem to happen if I remove the animations from the tiled zones (cycling through an array of sprites via SpriteRenderer.sprite, not Unity’s animation system). Not sure that this makes sense with the older Unity 5 project, but then, nothing here really does…

  • Attempts to replicate the issues from a ground-up small project haven’t panned out so far. Same settings and setup, but something’s apparently missing…

I’ll keep digging, but I’m really surprised that this issue has happened to us on two completely different projects across two different versions of Unity while no one else seems to have ever seen it before. As it stands we can’t release a game that does this, but if this was just a general Unity bug it seems like someone would have encountered it by now…

Update 3:

Found a correlation between the animation speed and the intensity of the effect, and were able to reproduce it consistently in a bare-bones project. Sent it as a bug report to Unity, and will keep this updated with any new developments.

Update 4:

Unity’s response: “We have been able to reproduce this bug and have sent it for resolution with our developers.”

Guess that answers the question. Thanks to all who assisted via the comments!

Unity has confirmed this behavior as a bug with the following in response to a report:

“We have been able to reproduce this bug and have sent it for resolution with our developers.”

Not sure when it’s getting resolved, but I guess this finally answers the question.

Update: Issue Tracker

Might be screen tearing from not having a vertical blank (vblank) sync in the quality settings?

Encountering a similar issue with sprites glitching almost the same way as in gif on a Unity 2021.3.22f1 Unity as a Library build.
Only happens in Android Studio emulator though, build to device seems fine.
1