Missing textures after resume with Unity 4

We’re experiencing a strange problem on all 3 Kindle Fire devices. (we didn’t try any other Android devices)

After minimizing the game and resuming, all uvs and colors connected to SkinnedMeshRenderers are missing and don’t come back.
The game runs perfectly on iOS.

Any ideas?

First thing to do is test on a non kindle Android device… If it still happens you know its not the kindles fault! What texture settings do you use? Etc?

I only tried it on all Kindle devices so far.
However, it seems to not restore skinnedmeshrenderers after losing the OpenGL context…

Any ideas?

Solved it.
Put this somewhere in your scene.

#if UNITY_ANDROID
	void OnApplicationPause(bool paused) {
		Object[] objects = GameObject.FindObjectsOfType(typeof(SkinnedMeshRenderer));
		foreach(SkinnedMeshRenderer s in objects) {
			s.sharedMesh.vertices = s.sharedMesh.vertices;
			s.sharedMesh.colors = s.sharedMesh.colors;
			s.sharedMesh.colors32 = s.sharedMesh.colors32;
			s.sharedMesh.uv = s.sharedMesh.uv;
		}
	}
#endif

I know this is reviving an old thread, but we are actually seeing this on iOS as well with 4.2 (and I think 4.1). I will try this fix, but we tend to load our skinned meshes from the resource folder and don’t generally just have them resident in the scene. That said, this has been a very rare bug for us.

= Ed =

Had the same problem, Unity Issue Tracker - [Android] App does not resume graphics context after being minimized and maximized again if Graphics Jobs are enabled.

Fixing it for me was turning off “experimental graphics jobs” in player settings > other settings