Search Issue Tracker
Addressables fails to build if Dependency is deleted but it is still used by the Build Cache
When attempting to Build our Addressable Asset Bundles Unity started throwing 'ArgumentException: Path is empty.' and 'FileNotFoundException' from HashingMethods.CalculateFile() at line 294. Upon investigating the cause of these Exceptions User found that they were coming from the Build Cache referencing Assets in their Dependencies that had been removed from the project.
1. Download attached project “Addressables Dependancy Bug.zip" and open in Unity
2. Open “SampleScene” scene
3. Press Custom > Build Bundles menu item and wait until it completes
4. Delete the script "ReferenceScript" and remove its reference on the "MainPrefab" prefab
5. Press Custom > Build Bundles menu item again
Expected results: Addressables succeeds to build again
Actual results: Addressables fails to build and throws "ArgumentException: Path is empty" or "FileNotFoundException" from HashingMethods.CalculateFile() at line 294
- This issue appears on both Windows and macOS
- This behavior causes thousands of LODGroups to become outdated while working on an actual level.
- Workaround: Delete Build Cache from Library folder
- Could not check on earlier Unity versions because the project becomes corrupted
Reproduced on Unity 2018.2.17f1, 2018.2.20f1, 2018.3.1f1 and 2019.1.0a12
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
- Mouse inputs cannot be inputted when searching the Shortcuts Menu by type "Shortcut"
- "Debug Assertion Failed!" error when launching Windows Dedicated Server Player with Script Debugging enabled
- [Cinematic Studio][3D HDRP] Shader warnings thrown in the Console window when creating a new project with Cinematic Studio template
- Autoplay is triggered on Audio Assets when changing Asset Bundle tags
- Inspector Asset Bundle section has no indication for Variants, AssetBundle is written without a space, and Variant dropdown menu is available without setting the Asset Bundle first