AssetBundle is a pro feature. However, the way it is implemented in Unity is very limiting due to Unity singlethread nature. It would be very useful to have greater access to AssetBundle and www related code to use in standalone code. Either as source code(preferred) or as a separate library to incorporate it into plugin. It is not a security threat and it is doable manually as well (you simply need loaders for all the datatypes).
In this way, trully asynchronous asset loading could be provided for large scale standalone pc/macos unity project, which would be an Asset to Unity3d in general.
AssetBundles are not single threaded.
Their loading as well as WWW in general run in an own thread actually and always did so (ie since assetbundles were introduced with 2.6).
Thats why WWW has the threadPriority attribute.
as such your topic is no topic
Are you sure? Standard unity yield “Coroutines” are not threaded. Which is nice - they are thread safe:)))
Unity is cooperative multithreading. It means, that its just a single thread that mono itself slices up into virtual threads.
If you have more than one cpu, you can’t take advantage of them, which is the main point to threads.
I suppose, AssetBundles could be exception from this rule, but i doubt that and its not explicitely in manual.
All the logic for downloading, decompressing and loading assetBundles is done on threads. The yield syntax is just the scripting interface for waiting for these things to happen, and does not say anything about how the internal logic is implemented.