Hello again!
Thanks for the update! The extended log is showing another clue, with multiple calls to “LogRHI: Error: GL_DBG: [API][Error][High][50] Error:glDisable:: is not one of the accepted values”, as well as repeated entries to the original error from the first log, “Assertion failed: (Index >= 0) & (Index < ArrayNum) [File:Runtime\Core\Public/Containers/Array.h]”
Checking through the community, the glDisable error confirms the driver conflict we were discussing in the previous post. UE is sending a standard OpenGL ES call, and the OpenGL ES driver on the Huawei phone’s GPU (most likely Mali/Kirin chipsets) is rejecting it. Meaning, the driver is either not compatible, or bugged.
The next step to test for solution here would be to completely bypass OpenGL and use Vulkan instead. Please go to Project Settings > Platforms > Android > Rendering > Target RHIs. There, make sure Vulkan is enabled, and OpenGL ES 3.2 is disabled. After that, repack the game, and re-test.
If somehow, the issue remains active after that, we need to look back at the “Assertion failed” issue, most likely tied to the shader overload mentioned before. If your project aims at 11 shader resource slots, while the GPU/driver only supports 8, the crash will continue happening.
At that point, you need to go through your project, simplify all materials, and disable any active advanced rendering features (Post-Processing, HDR), to reduce the number of draw calls in your project.