Search Issue Tracker

Fixed in 1.1.1-preview

Votes

0

Found in [Package]

-

Issue ID

1082969

Regression

No

Incremental Asset Bundle build doesn't change the binary data if, only changing the dependent assets Asset Bundle

Package: Scriptable BuildPipeline

-

Reproduction steps:

1. Open "BundleTest2.zip" project
2. "Build" -> "BuildBundles"
3. Duplicate the Asset Bundle and name the folder 'A'
4. Move "mat1" from Asset Bundle "mymat_1" to "mymat_2"
5. "Build" -> "BuildBundles"
6. Use "WebExtract.exe" and "binary2text.exe" to check the binary data of both Asset Bundles "myprefabs" file
7. Open the text files and compare their data

Expected Result: The "m_FileID" of the "mat1" changes from '2' to '3', because of the change in Asset Bundles
Actual Result: The "m_FileID" of the "mat1" stays the same ('2') after an incremental build

Reproduced with: 2019.1.0a2, 2018.3.0b2, 2018.2.9f1, 2018.1.9f2, 2017.4.11f1

Note:
Doesn't reproduce if:
The Asset Bundle folder is cleared
The Asset Bundle is Force Rebuilt

  1. Resolution Note (fix version 1.1.1-preview):

    This is a bug in the hash generation for asset bundles. The hash includes the names of all dependent bundles, but it does not include the contents of those bundles. We would have to include all the GUIDs included in dependent bundles to fix this, but this would change the hash for all bundles.

    If we were to fix this now, games that have already shipped that rely on the bundle-hash for bundle caching will end up having to re-download their content. This would be too disruptive to change in a patch.

    Note that this bug only occurs when moving a referenced asset from one bundle to another AND both of those bundles remain dependent.

    For the time being, this issue is fixed by using Scriptable Build Pipeline

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.