Is deterministic Unity build process possible?

Hi all.

We have a PC Unity application that makes use of asset and scene bundles, and have a new requirement for the build process to be deterministic (build twice from the same source, do binary compare on resulting files, they should be identical).

When I do the build, and then compare our outputs using WinMerge, the generated dll files (Assembly-CSharp-firstpass, Assembly-CSharp, Assembly-UnityScript-Firstpass, Assembly-UnityScript) differ by a few bytes. Both the sharedassets and asset bundle files have more significant differences.

Is there any way to have Unity output identical files from given source when building? BuildAssetBundleOptions.DeterministicAssetBundle only ensures the asset IDs are identical between builds, and I haven’t been able to find any more build settings that seem to affect this behavior.

Any help or suggestions would be very welcome :slight_smile:

:wink:

2+ years later, same problem, hoping for a solution. Currently running the same build twice produces very different results. Patch sizes will be brutal if we can’t resolve this. :hushed: