Different CRCs between bundles with the same contents

Hi there,

My team encountered a frustrating case.
In the past few months, we found out that little change in data cause huge AssetBundle change in result which makes our players have to download much more bundles than the real need while updating.

We use perforce as version control and Unity version is 2017.4.1f1.
Assets are clustered and separated by BundleGraphTool with custom builder and finally invoked building by Jenkins.


After few days of work, we reduced some AssetBundles’ inconsistency.

For further comparing,
A. I created a new unity project with specific version of our game, and built bundles.
B. I created another new unity project with the same specific version, also, built bundles.
C. Unpack and translate both into txt.
D. Compare them

I found out that though bundle contents are the same, dependency list order changes,
as a result, CRC also changes.
We don’ know how to assure dependency list order and thus guarantee bundle consistency.

Here is a example.

in A
m_Dependencies (vector)
size 6 (int)
data “textures_22” (string)
data “shader_0” (string)
data “shared_3” (string)
data “shared_27” (string)
data “shared_53” (string)
data “shared_74” (string)

in B
m_Dependencies (vector)
size 6 (int)
data “textures_22” (string)
data “shader_0” (string)
data “shared_3” (string)
data “shared_53” (string)
data “shared_74” (string)
data “shared_27” (string)

Similar problem is also mentioned in :
The assetbundle build is different each time if I remove the Library folder
which BetaDwarf encountered.

Does anyone knows how to solve this? Thanks!

2 Likes

Can you tell please - did you solve this issue ?