we are getting more and more reports of users having issues with Daedalus. Specifically, certain elements in the game are being rendered pitch black.
Here are two screenshots:
I've personally been able to confirm this happening on a Note 8 with Exynos. Game works fine on Android Nougat, updating to Android Oreo causes the issue. Other users have claimed the same. I'm not sure if this is an Exynos-only problem or not. I only have access to Exynos devices here in Spain.
The amount of complaints rise steadily as the Oreo update is being pushed to users.
There are also liquid platforms in the game, featured for the first time in the third level of stage 3 that are also experiencing this problem.
I'm not entirely sure if it's a problem with the shader, as you can see, the white elements in the wand still work (first picture). I believe it must be the cubemap that is being passed to the shader as black, which is then multiplying with the diffuse color, resulting in a black surface. The white part you see on the wand is added at the end of the shader. That would explain why it's still visible.
It might also be interesting to note, that Daedalus uses OpenGL ES 3.1 to make use of ASTC compression, prefiltered cubemaps, and uncompressed 8-bit RGB textures sampled in the vertex shader to make the liquid platforms possible.
The current build uploaded to the Store is running Unreal 4.16 I believe, but we have another build in a private beta channel with 4.18. The issue is present in both.
I'm also attaching to this thread two logs. One taken with Android 7, and the other one with Android 8.
The main differences I can find between the logs are:
Slightly different GL_VERSION:
Android7: GL_VERSION: OpenGL ES 3.2 v1.r3p0-00rel0.dce8ca6a85819d8495118734e2e3ccc6
Android8: GL_VERSION: OpenGL ES 3.2 v1.r9p0-01rel0.1af9af8f7e4030fa12a53451ae1c788c
Different GL_MAX_TEXTURE_SIZE: (I don't think this is relevant to us, no texture exceeds 2048 in our game)
Android7: GL_MAX_TEXTURE_SIZE: 16384
Android8: GL_MAX_TEXTURE_SIZE: 8192
It is also interesting to note that there is an error message present in both logs:
Error: Unsupported EPixelFormat 28
That error is apparently related to 32bit per channel textures, which we make no use of.
Any help is greatly appreciated as we feel a bit lost with this one.