S7 Exynos Android 6.01 April Update with black material

Hi

This is a bug already mentioned on forum and written here for tracking purposes.

Since I installed the April update of Android 6.01 on my Galaxy S7 (non-american version with Exynos) some apps from UE show black material.

The Android update has the following version number: Android Version: 6.01 G935FXXU1APD1/G935FAUT1APD1/G935FXXU1APD1.

Previously following didnt have following material problem and now since the april update have them:

In this app all the cars are black now: https://forums.unrealengine.com/show...n-spline-track

Here the Floor is completly black: https://play.google.com/store/apps/d...otakounlimited

Other apps have the same problem which where made with different engine version from 4.7 to 4.10.

Im 99% sure that the update in april caused the problem, because those apps were one of the first apps I tested after getting the phone back in march.

Hi spaceharry,

Yes, I saw the black cars in LastActionFree (link text) and the black floor for Tako Tako (link text) on my S7 SM-G930F (Exynos).

What does the material for the floor look like? Can you make a small project with just the floor to share? Also, can you test on 4.11 and 4.12 preview?

Hi Chris,

As requested I sent a repro project to you with the same mesh and material used as in Tako Tako Unlimited.

I migrated the material project to a empty new project done with 4.9 (same as app) and could reproduce the bug. On Galaxy s4 with Android 5.01 the material shows correct and on S7 exynos its black. Dont have other phone at hand to test atm.

Hi, we believe we worked around a precision issue on the Exynos S7 for UE4 version 4.11 which was causing some black materials. The fix was to change the line in Engine\Shaders\MaterialTemplate.usf from

Parameters.WorldNormal = normalize(TransformTangentVectorToWorld(Parameters.TangentToWorld, Parameters.TangentNormal));

to

Parameters.WorldNormal = normalize(float3(TransformTangentVectorToWorld(Parameters.TangentToWorld, Parameters.TangentNormal)));

You should be able to make the same change in 4.9.

Cheers