I have an update. We finally managed to reproduce the error with an iPad connected to XCode, and received the following error message:
2021-07-13 22:34:24.679703+0200 Hats[717:491668] Execution of the command buffer was aborted due to an error during execution. Caused GPU Timeout Error (IOAF code 2)
This was repeated a couple times, followed by this error which kept repeating.
2021-07-13 22:34:24.690583+0200 Hats[717:494571] Execution of the command buffer was aborted due to an error during execution. Ignored (for causing prior/excessive GPU errors) (IOAF code 4)
Online research points to an issue with Metal. A couple of possibly related threads:
These are not about the exact same error (IOAF 3 instead of 2), but the behaviour is very similar:
https://developer.apple.com/forums/thread/73225
This one is the closest I’ve found. Behaviour and error codes are identical to what we are experiencing, but it’s about MoltenVK instead of Unity.
https://github.com/KhronosGroup/MoltenVK/issues/602
We then tried to reproduce the freeze again with XCode’s new Metal API and shader validation options turned on, but that didn’t give us a lot of useful info. I’ll post some screenshots of what we saw there later. I suspect the problem might be that our project is being built with Unity 2018.4, which could be before Unity supported these options? Updating is not straightfoward, since we’re using an old version of the ARKit plugin. I tried converting the project to Unity 2020, but that resulted in linker errors. The first one was een GlesHelper.h file that wasn’t found, which I tried to fix by simply removing the offending package from the project, but that resulted in a cascade of other build errors.
So yeah. New info, but we’re still very much stuck with the same issues. Has no one experienced anything similar?