-
Notifications
You must be signed in to change notification settings - Fork 30
Description
Hi, at first I want to thank for the plugin and the great work, but I have run to some problems on our project and I am not sure if it's the plugin's fault, my fault, Unity's, Android OS's or some race condition.
I have used the plugin the way it is used in the example project, adapted it in fair standart way in our project. I called the plugin in the first scene of the project after starting the game. On development Android device, everything runs fine, it detects whether the permission is granted and it asks for it if it is not. We are using Unity 5.6.5p3 for the development. The device I developed with is Samsung Galaxy S6 Edge, running on Android 6.
After deploying the build to broader audience, reports started to appear of corrupted textures, whole screen in the first scene pink and so. It seems it affects the UI in particular, everything with textures where is alpha channel. Regular game geometry is OK. On some devices and in certain cases, screen is not pink, but it looks like "hall of mirrors" bug. Basically normal UI framebuffer tiled i.e. in 10x4 matrix.
I think something in this plugin, or the way it is used, corrupts the memory, framebuffer, or the way how Unity works. I know this is very strange as everything it does is running managed code and calling Java. There is maybe some native bridge, but all code in this plugin is managed, either in C# or in Java. So what can corrupt the memory and textures?
It seems (I am not sure of it) that somehow just the presence of the plugin (even before any call to it) somehow corrupts the run of the Unity player from the beginning. Please note that this does not happen on all the devices. I'd say that this happens on 1/10 of the tested devices. I will attach the list of the devices on which it occurs.
Also, this happens when OBB is present. We are able to get to the later scenes, even to main game which certainly uses assets that are in OBB. It is maybe somehow connected to the fact that this happens more often when game is installed from Google Play Store. When we deploy the game via ADB, this happens in almost none of the cases.
What follows is a list of devices, it consist of manufacturer, device, Android version, device code and SoC.
Samsung | Galaxy On5 LTE | 6.0.1 | SM-S550TL | Samsung Exynos 3 Quad 3475
Samsung | Galaxy A3 2016 | 6.0.1 | SM-A310F | Samsung Exynos 7 Quad 7578
LG | Nexus 5 | 6 | D821 | Qualcomm Snapdragon 800
Samsung | Galaxy J7 Pro | 7 | SM-L730F/DS | Exynos 7870 Octa
Huawei | P9 | 6 | EVA-L09 | HiSilicon Kirin 955
Samsung | Galaxy S6 Edge+ | 7 | SM-G928F | Exynos 7420
Samsung | Galaxy S7 Edge | 7 | SM-G935F | Exynos 8890 Octa
Samsung | Galaxy Tab S2 9.7 | 7 | SM-T810 | Exynos 5433
Huawei | Mate 9 | 7 | MHA-L29 | HiSilicon Honor KIRIN960 Hi3660
ASUS | ZenPad 3S 10 | 6 | P027 / Z500M | MediaTek MT8176
Do you know what can cause the corrupted screen? Or how to solve it? Is it Unity's issue, plugin issue or ours?