Hi, Our project shows remote webrtc video in unity Texture2D. The Video image data is captured from C++ native code. Currently, we copy the native image data to c# byte using Marshal.Copy, I think we should have a better way to avoid marshalling costs. (Remark: After I copy the data, native c++ will delete the data buffer, I can't control it) I hava two questions: 1. Is NativeArrayUnsafeUtility.ConvertExistingDataToNativeArray with Allocator.Persistent is better than Marshal.Copy to c# byte? 2. Will the garbage collector free the NativeArray aotumaically? Will it call NativeArray.dispose()? Because another main thread will read the NativeArray to Texture2D, I can't free it in the backgound thread. Thanks!