I write this article to record the process of debugging this issue. At the same time, this article will also introduce how to use Xcode tools to debug shader code to find existing rendering bugs.
After Unity 2018.3, the new `Managed Stripping Level` option replaces the old `Stripping Level` option in the player settings. This new option is available for all platforms and both Mono and IL2CPP scripting backends. The main purpose of this feature is to reduce the size of the app by removing some unused code. It sounds great, but there is a potential side effect. How does Unity know which code is unused code?
This article and the demo project at the end of the article show how to enable the CoreML to work with AR Foundation in Unity. With AR Foundation in Unity and CoreML on iOS, we can interact with virtual objects with our hands.
I believe that many developers will have similar misunderstandings after seeing the name Mesh Compression. So this blog is about how to optimize Mesh in Unity to save memory, and why the Mesh Compression option is turned on, but it doesn't help memory.