How to analyze the actual differences in Asset Bunlde?

Hi,
We are using BuildPipeline.BuildAssetBundles method to build asset bundles by jenkins project on same machine .

BuildPipeline.BuildAssetBundles(outTarget_dir, BuildAssetBundleOptions.ChunkBasedCompression, buildTarget); 

every asset no change but the manifest file shows the difference in CRC encoding.
At the same time, I also used the official ab package parsing tool WebExtract and binary2text to parse the txt file of the ab package, and it showed no difference. This problem has been bothering me for a long time.
I hope the official or other experts can provide a solution to this problem, otherwise the size of each hot update will be uncontrollable.
Unity Version: 2020.3.48

Hey Vincential,

That’s a tough one - something somewhere is likely different, either in the header, or the floats, or something else. It’s quite challenging to understand without project access.

E.g. One interesting thing with binary2text is it truncates floats when it converts them to a string, if you switch the floats to hexidecimal using one of the binary2text options then you should be able to validate they’re the same.

hi, George,
First of all, thank you very much for your response to my question.
I’m sorry I can’t provide you with a reproducible demo project, but I can provide the assetbundle data that encountered the problem. I also tried using a hexadecimal project to use binary2text, and the content was the same after comparison. This makes me even more curious about why there are differences in the assetbunlde data.
It’s very embarrassing that the system still prompts me as a new user and I can’t submit the attachment zip. I wonder if there are any other ways to submit the problematic asset-bundle to you?

Hey Vincentlai,

No problem!

Appreciate it’s not ideal, but typically the project is easily the best thing for the engine devs to debug.

With the project, an engine engineer will typically run through the exact process that you did with BuildPipeline.BuildAssetBundles call, and step through the code to see where any differences are and if anything unexpected is happening in this engine or if something is happening at an asset level in the project itself.

If you’re unable to provide the full project, narrowing it down to a small test case and submitting that would be a huge help, and someone on my team can look into it.