Android Instabilities

I’ve had success deploying games to a non-standard android device that our company makes, but the game can often crash or fail to start at odd moments. I suspect it’s some kind of memory issue or memory corruption?

One of the most frustrating stack traces I see involves PxVehicleDriveGeneratedInfo when our project isn’t even running anything related to vehicle physics. It’s mostly just a modified version of the First Person Shooter demo.

#00 pc 000b12c0  /apex/com.android.runtime/lib/bionic/libc.so (_Unwind_VRS_Pop+84) (BuildId: d17ef4effa6aefdae27b4a61835dfff0)
2022-03-17 10:49:59.952 11201-11201/? A/DEBUG:       #01 pc 000b18fc  /apex/com.android.runtime/lib/bionic/libc.so (__gnu_unwind_execute+240) (BuildId: d17ef4effa6aefdae27b4a61835dfff0)
2022-03-17 10:49:59.952 11201-11201/? A/DEBUG:       #02 pc 000b11cc  /apex/com.android.runtime/lib/bionic/libc.so (BuildId: d17ef4effa6aefdae27b4a61835dfff0)
2022-03-17 10:49:59.952 11201-11201/? A/DEBUG:       #03 pc 0d7040cb  /data/app/com.company.HandTrackingHax-h3tr3wE9UzSNJFAsd_saaA==/lib/arm/libUE4.so!libUE4.so (offset 0x5fd4000) (physx::PxVehicleDriveGeneratedInfo::PxVehicleDriveGeneratedInfo()+18) (BuildId: 7a5abed4d9a1bc78d43ca016f024a5c7a289a7be)

I find that if I remove as much as possible from the scene and project, it’s more likely to be stable and have more room for other things to be going on.

If too much is going on, even something as simple as responding to a mouse over event in UI and printing a message, can cause this random crash.

I also noticed projects that are too complex fail to even go past the splash screen and there’s no crash in the logs.

There must also be a way to strip out some things as needed to keep the engine smaller?

I’ve done multiple commercial Quest and Quest 2 projects over the years and they have been 100% stable.
I use Unreal 4.22.3 - Maybe give that a try.
Good luck

Coincidentally I’m running this on a sister device of the Quest and Quest 2 (Portal) which is more locked down, so I’m like a pioneer trying to get Unreal working on it during a hackathon.

I have actually tried this on an older version of unreal a while ago during a hackathon and had the same issues. I believe that was about 4.22. I was always able to deploy the First person demo but more complex projects tend to fail. I remember getting the same PxVehicle crash even then.

I’d hope other people ran into this exact issue on other Android devices, but I haven’t found much info online. Our devices are decently powerful too, but memory may be an issue. The devices typically run AR and even actual Unity releases in the past.

I also get this issue even in light weight projects that normally work if I force Vulkan enabled instead of Open GL ES 3.1. I get to the splash screen and eventually the logs show the PxVehicle failure.

4.22 was the last version that supported OpenGL ES 2. Using that is fast and like I say 100% stable for large complex projects. I’ve heard lots of horror stories here and on Discord with later versions of Unreal in terms or stability and performance on Quest so I stuck with 4.22.
Going to try moving to UE5 when/if its stable on a new machine and keep my 4.22 Quest dev environment intact on the old one. It pays to be cautious when dealing with Unreal versions.

Hmm that’s worth a try. I’ve been on UE4.27 and 5 and always getting the latest on windows.

I’m not so sure 5 will be necessarily more stable since it’s basically UE4 in many ways, but it’s possible. If anything I’d worry it’s less stable, at least initially.