why OpenGL ES on ios can not support multi-threaded rendering in unity?

Anyone knows? I just want to know some deep tech details behind it, thank you!

There isn’t anything deep about it. OpenGL ES restricts each context to a single thread. Trying to modify the context from multiple threads results in unpredictable behaviour. Apple’s recommendation is to have multiple threads that are not dependent on the context perform calculations and then let the single thread push the results one at a time.

https://developer.apple.com/library/archive/documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/ConcurrencyandOpenGLES/ConcurrencyandOpenGLES.html#//apple_ref/doc/uid/TP40008793-CH409-SW2

Open GL is deprecated on iOS and macOS. I would not waste any time with it.

OpenGL multithreading support (iOS) is a new feature in Unity 2019.2:

I hope that is a sign that OpenGL will be still available for some time on macOS and iOS – otherwise I don’t understand why they invest any resources in a technology that might be not available anymore in iOS 13 and macOS 15.

thanks for you reply, AFAIK, On Android, unity pushes every rendering command , except creating shader command , to rendering thread. Why can not use this same pattern on IOS? Does IOS have some restrictions? For example, rendering thread can’t bind eagl conext which is created in the main thread to self(I just guess)?