Search Issue Tracker
By Design
Votes
0
Found in
2017.4.9f1
Issue ID
1070406
Regression
Yes
[Windows] Caching.ClearCachedVersion() and Caching.ClearAllCachedVersions() fails to remove Bundle from Cache
To reproduce:
1. Download attached project "CachingBug.zip" and open in Unity
2. Open "Main" scene
3. Open "CacheDemo01" script, comment 90 line and save it
4. Enter Play mode
5. Observe in Console that Caching.ClearCachedVersion() fails to remove bundle from cache
6. Exit Play mode
7. Open "CacheDemo01" script, uncomment 90 line, comment 89 line and save it
8. Enter Play mode
9. Observe in Console that Caching.ClearAllCachedVersions() fails to remove bundle from cache
Notes:
- This issue appears only on Windows
- This issue does not reproduce on OSX
Reproduced on Unity 2017.3.1p3, 2017.3.2f1, 2017.4.9f1, 2018.1.9f1, 2018.2.3f1 and 2018.3.0a9
Not reproduced on Unity 2017.2.3p3 and 2017.3.1p2
Regression on Unity 2017.3.1p3
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
- "Shader warning in 'Hidden/Light2D': implicit truncation of vector type" is thrown when building Universal 2D template
- AI Assistant breaks compilation of packages using System.Runtime.CompilerServices.Unsafe via auto-referencing
- Unity Hub checks the "Documentation" module by default on the 6.4 and 6.5 streams despite that it was unchecked with the previous installs
- Shortcut that toggles between Dopesheet and Curves Views in the Animation Window's Timeline is mislabed
- Property List Items Overlap onto the Property List's top edge when scrolling through a long Property List
Resolution Note (2017.4.X):
1. You need to use `UnityWebRequestAssetBundle` since `WWW` isn't supported and doesn't save the correct cache path anymore due to an issue with it not using the correct hash. UWR does.
2. You have to unload their bundle before they can clear their cache. It can't work otherwise. That said there is an odd issue where if they've downloaded the bundle/cached it with UWR but not loaded it through the `DownloadHandlerAssetBundle.GetContent` API then `AssetBundle.UnloadAllAssetBundles(bool)` won't actually unload the bundle. They have to get the bundle from UWR and make sure it's unloaded.
3. You're giving the asset bundle name as a path `abm/examples/unitylogo` because that's the path from StreamingAssets down to their bundle on disk. You can't give that same path to `Caching.LiterallyAnyAPI` because it only caches based on the name itself (and the path of the cache of course), not any sort of given path.