Build AssetBundle with chose another build target - all assets re-imported!

I can’t do a quick build to a different platform because all the assets get re-imported which can take more time! How I can do this quickly?

Used:

  • BuildPipeline.BuildAssetBundle (selectedObj, null, pathIOSReadyFile, BuildAssetBundleOptions.CollectDependencies | BuildAssetBundleOptions.CompleteAssets, BuildTarget.WebPlayer);
  • BuildPipeline.BuildAssetBundle (selectedObj, null, pathIOSReadyFile, BuildAssetBundleOptions.CollectDependencies | BuildAssetBundleOptions.CompleteAssets, BuildTarget.iPhone);

It’s a normall behaviour. If you want to build a bundle to another platform Unity is to switch to this platform, and your assets will be reimported.
The solution is to build all bundles you need for one platform, than build all bundles for the second platform, and so on.
This way Unity switches only once for one platform you build your bundles for.

I do this even in different instances of UnityEditor due to memory consumption issues.

I’m so disappointed build targets are being used for asset bundles. Many developments that use a dynamic loading policy support multiple platforms are going to have to support far greater resource sizes now. Not a good choice of design.