Strange graphical freeze up (Android 8.0 Pixel C)

Hey all, this is driving me insane so I really hope someone can help shed some light on the issue.

The other day I upgraded my Pixel C tablet to android 8.0. As soon as I did so I started encountering the following strange bug.

The issue:
-The visuals of the game “lock up” or “freeze” in a state of jittering back and forth rapidly between what appears to be two frames.
-The game is still fully functional “underneath” as I can still hear audio including feedback sounds of the player moving/interacting with the environment and UI is still interactive functionally (although not visibly). That is to say that I can press the menu button and navigate back to the main menu (from memory).
-Managing to successfully load a new scene resolves the issue temporarily but it will be right back soon after.
-If I dont manage to load a new scene within 10 or so seconds the game will close (presumably force closed by the OS).

Occurrence:

  • Seems to happen randomly, usually after a few minutes of the game running any given scene
  • Happens on any game scene, including the main menu
  • Does not seem to require any user input or interaction with the game to happen
  • Only happens on my Google Pixel C (Only able to test one other 8.0 device so far though)
  • Has never happened on that device or any other device/on any other version of Unity or Android before now
  • Does NOT seem to happen on a friend’s Pixel phone which was also just updated to Android 8.0

Steps Taken

  • Updated Unity to latest version 2017.1.1
  • Updated Android SDK including downloading 8.0 support via Android SDK manager
  • Tested old android builds from before updating to 8.0 and the rise of the bug (Issue still present in old builds)

If anyone can help it would be GREATLY appreciated. I need to resolve this soon as my app release is only 2 weeks away and I dont want to launch with 8.0 devices potentially broken.

2 Likes

Bump out of desperation. Is there anyone from Unity who can tell me if they have ever seen this issue. Or whether (from what information I have provided) it sounds like a Unity issue or something wrong on Android’s end?

Hi there,
we have exactly the same issues -
Also on the Pixel C but with Unity 5.6.1f1 - but older version of our app crash or freeze, too.
The Pixel C is our only device with Android 8 - the rest of our Tablets are from Samsung - starting with Android 4.2 to 5.1.1 and on all of these the app runs without any problems.

It might be a Problem only with pixel c - or Android 8 - but this device is so widespread that this Issue should have happened to many developers by now.
So- most likely our projects have something in common that others don’t have.
I thought about what might be “special” to our App - would you be so kind to check which of the following applies to your project, too?

Custom Android Activity
Are you extending the UnityPlayerActivity Java Code as explained here - Unity - Manual: Extend the default Unity activity ?
If you didn’t build your own - maybe you use an outdated 3rd Party Android Extention?
Do you use a “Rate us” Dialog or some other Android Native popups?
Have you extended UnityPlayerNativeActivity? (We did - this might be depreciated and could be the culprit)
By now it’s recommended to extend UnityPlayerActivity.

UI Specials
Do you use some of the old IMGUI Code?
If so - do you use the IMGUIs Eventsystem for input (we don’t - but we use the OnGUI EventType.Repaint)

Some other Clues…
Do you use the Gyro-Sensor? Does it behave strangely only on Pixel C?
Like - after some motion ended it still continues with rotation / movement?

This drives me insane - I spend almost a whole week on this - to no avail -
We called this - “The Great Jitterbug” - :wink:
Until I saw your post here - I thought only of an UI Bug I produced myself (some loop in Update() etc.).
But now knowing that someone else has this issue pointed me into another direction →

First thing I’ll try is to recompile my Android Activity JAR (I use Android Studio) with the latest Sources.
and change the inheritance from UnityPlayerNativeActivity to UnityPlayerActivity.
… honestly - I hope we can work out this issue together -

I’ll post my findings here.

I have the same issue on my Pixel C after updating to 8.0 (dev preview 8.1 still has same issue)

Games like Vainglory, Mortal Kombat X have these screen freezes… I think it has to do with temperature/overheating… As it happens more often when I have my cover on. Also during intense gameplay/graphics this glitch presents itself more frequent. Without cover the heat can more easily flow from my tablet and these glitches are less frequent this way! Short pauses betweenheavy graphics can also greatly reduce glitch. (Or playing in a freeze cell, or winter-y outdoors :P) Switching screen off and on again makes the screen return to normal and I can continue playing.

Just got a Pixel C and was seeing the same thing. Didn’t even have to get the device particularly warm, my Unity builds were doing the ‘flicker hang’ sometimes after just a few seconds, sometimes after much longer.

Looks like all rendering has stopped but it’s continuing to cycle between 2-3 previous frame buffers. (I don’t currently have any audio in my project, so I couldn’t tell if it was still running or had actually hung)

Forcing GLES2 instead of the default of GLES3 made no difference.

Haven’t tried much non-Unity stuff out - but Clash Royale had seemed stable, at least for the 5-6 matches I played

I’ve just downgraded my tablet to Android 7.x, and haven’t seen the problem yet though (only done a few mins of testing) - so I don’t think it’s overheating, it could be a bug in Android 8 or its graphics drivers for this device, or maybe an incompatibility with Unity and other older games. Not looking like there’s much we can do about it right now as developers?

1 Like

Finally found someone with the same issue! I am not a dev, but I created an issue tracker item for this problem in 8.0, please star it so it can be fixed:

https://issuetracker.google.com/issues/71678283

Thanks!

Same issue here, Pixel C and stuttering/locking up/freezing very early on in my game. If anyone managed to get this working, please let me know how. I’m locked to Unity 5.6.3p2 so I’m hoping for an option than a Unity fix.

Either that or I’m hoping a new android version will fix it.

I also have the exactly same issue since Android 8 was first available! I tried it with various Unity versions already, 5.6.x (5.6.6 was my last unsuccessful upgrade try), 2017.2.0, 2018.1.0b6… I will have a try with more recent 2017 and 2018 versions, but have little hope that this would resolve the problem.

Thanks everyone for posting here, helps a lot to be in good company!

I’m having the exact same problem here, good thing you guys pointed this out.
Will save me a lot of time searching for a specific bug in my code!

I’m having the same issue(At least I think I have) on my OnePlus 3T with Android 9.0.1. Any Updates so far?

I have the same problem. :rage:
Appears after 5-10 minutes of play.

Video:

Apparently, this is a software bug on the Google side and it seems they will not fix it:

In the logs of the tablet, I also noticed many such errors, perhaps this is somehow related:
08-07 15:39:12.104: E/memtrack(371): Couldn’t load memtrack module

Google Pixel C (Android OS 8.1.0)
Unity 2019.4.37f

@bluescrn , @ffdehaan , @_methotec , @edaw22 Thanks for the investigation, did you solve the problem?

The only options I found were downgrading to Android 7, or using other custom Android builds (IIRC, LineageOS worked OK, but they’ve discontinued Pixel C support too)

1 Like

Yeah, I saw it, but this is not a solution… The typical player won’t want to do this. :slight_smile:

Hi everyone! Bumping this because we are having this exact issue but on iOS devices. iPhone 11 and 14 Pro so far. Unity version is 6000.0.58f2. The gameplay freezes just as in the video on above comments. It is very hard to replicate, it happens randomly. But we are constantly receiving feedback about this.

What are my options?