Search Issue Tracker
Won't Fix
Votes
0
Found in
2020.3.42f1
2021.3.15f1
2022.1.24f1
2022.2.1f1
2023.1.0a22
Issue ID
UUM-20629
Regression
Yes
[iOS] Concurrent downloads have become slower when using UnityWebRequest
How to reproduce:
1. Open the attached project "BundleDownload.zip" on 2019.2.7f2 or lower
2. Build and Run the Scene "bundledownload" for iOS
3. In the build, change the number in the Text field to a value between 2 and 20
4. Press the "DL Many" button
5. Once the downloads finish, observe the time it took, shown in the bottom left
6. Upgrade a project to a version from the list of reproducible versions
7. Repeat steps 1-5
8. Compare the time values
Expected result: On newer versions, it takes the same amount of time, or less to complete the download
Actual result: There is a noticeable increase in download time
Reproducible with: 2019.2.8f1, 2020.3.42f1, 2021.3.15f1, 2022.1.24f1, 2022.2.1f1, 2023.1.0a22
Not reproducible with: 2019.2.7f2
Reproduced with:
- iPhone 13 (iOS 15.0), using Wifi connection
- iPhone 12 mini (iOS 14.1), using Wifi connection
Notes:
- See comments for some additional information
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- “[Worker0] Could not generate preview image“ error when opening macOS native plugin in the Inspector with Architecture to build for set to ARM 64-bit
- [iOS] Application.absoluteURL is empty on Awake/Start when opening via deep link with Splash Screen disabled
- Crash on MemoryManager::Deallocate when rapidly calling Addressables.LoadAssetAsync
- Crash on physx::shdfnd::atomicIncrement when adjusting values on a character controller component after entering Play mode in Prefab edit mode
- [Rendering Debugger] [NewInputSystem] Debug Overlays in Play mode throws InvalidOperationException when using New Input System
Resolution Note:
The change that happened in 2019.2.8 was a switch to using single NSURLSession for all downloads. The reason for change was to reduce memory usage, as separate session per request meant not only more memory used, but there were also issues related to how iOS handles secure connections under the hood, keeping some resources for a while in use even after request is complete, resulting in memory usage increase with each request in a memory-leak like fashion.
Also, on mobile platforms network speed usually plays a more significant role, speed tests using great wi-fi connection are a bit synthetic.
We believe that lower footprint for handling requests is more valuable here and it's a worthy tradeoff to have slightly slower individual downloads.