Search Issue Tracker
Fixed in 2018.4.X, 2019.3.X, 2020.1.X
LoadAllAssets does not work the same way as its Async version LoadAllAssetsAsync and performs a lot slower
In the example project, one of the examples loads a single Prefab (with a couple of gameObjects inside) from a single Asset Bundle. LoadAllAssets takes ~3040ms, while LoadAllAssetsAsync takes ~1635ms. The Async version is Expected to be slower, however, it looks like there are certain Optimizations which are not implemented in the Sync version and the result is the Sync version is a lot slower
1. Download attached "TestBundlesLoadingProject.zip" project and open in Unity
2. Open "SampleScene" scene
3. Enter to Play mode
4. Click "Sync 1BundleLoader" button in the Game View
5. Notice the Results in Console:
"---------------1 bundle loaded Synchronously time ms: 109"
"---------------LoadAllAssets from 1 bundle time ms: 3280 assetsCount: 2004"
6. Exit from Play mode
7. Enter to Play mode
8. Click the "Async 1Bundle Loader" button in the Game View
9. Notice the Results in Console:
"---------------1 Bundle Async loaded time ms: 76"
"---------------LoadAllAssetsAsync from 1 bundle Async time ms: 1926 assetsCount: 2004"
Expected results: The Async version is expected to be the same or slower than the Sync version
Actual results: The Async version is much faster than the Sync version
- This issue is reproducible on Windows and macOS, Standalone and Android
- For some reason, this project becomes corrupted on iOS
- The other buttons use a different configuration for the Aset Bundles and loading them. There the results are pretty similar between the Sync and the Async version
Reproduced on Unity 2017.4.0f1, 2017.4.32f1, 2018.4.9f1, 2019.2.6f1, 2019.3.0b4 and 2020.1.0a5
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
- Wrong documentation page is displayed for the "Scene Template Pipeline" help icon
- Missing Device Simulator API
- Shadow gets cut off when in Play Mode and using shader "Shader Graph/Rotation Shader" for material
- Unable to get textureOverrideSettings from BuildPipeline.GetBuildTargetName when trying to pass in the platform string
- Getting the current process name returns Null when building with IL2CPP