Correct way to async/multi-threaded fill mip data for UTexture2D?

So I’m working on a comic book reader, and have it mostly working.

The only issue is when copying the mip data from a memory buffer into the texture’s mip buffer. Because the texture is big (2000x3000 basically), doing a single memcpy in the main game thread causes a momentary hitch. I’ve tried defraying this over multiple frames, only copying some chunks at a time, and while it improves the situation, it also makes the loading process a lot slower (still in the main game thread for that part).

Is there a way to async fill a texture’s mip data?

For anyone with a similar issue in the future, here’s a way to put the copy of the texture data into the rendering thread, and outside the game thread.