Background loading of textures

I’m currently searching for a way to stream textures from disk (and also from internet) into Unity, at runtime. I’ve got this implemented, but there’s a quite noticeable slowdown every time a new texture is loaded (I’m using the WWW class to load them from disk).

My idea now is to create a background thread that will load the texture data manually (which will be pushed into a new texture using the main thread).
Anyone has experience with something like this?

From what I’ve read I should not call Unity stuff from other threads, so what can I use to load png files?
Will something like this work on Unity?

Hi, any news on loading asynchronous textures? I am still looking for a solution, I guess it will be very hard to write it, but it seems it is still possible to fill a texture directly using direct calls to OpenGL outside from the main thread, just looking at how Qualcomm Vuforia does it (async), and yet theres another challenge - to decompress PNG files async (threaded), for that I bet we will be using a third party plugin.