Search Issue Tracker
Fixed
Fixed in 2023.2.0a13
Votes
0
Found in
2020.3.38f1
2021.3.9f1
2023.1.0a21
2023.2.0a1
Issue ID
UUM-14677
Regression
No
Animations cause nondeterministic results when building asset bundles
Reproduction steps:
1. Extract the attached project zip file named "1278393_BundlesIndeterminism (3).zip" [the google drive link, not the jira attachment 1278393_BundlesIndeterminism.zip!]
2. Open the extracted project's folder and delete "Library" folder
3. Open the extracted project
4. Click on ESupport/Build Bundles, the bundles should be built under the “Bundles/Mini” folder which is generated besides the project folder
5. Create a new folder in "Bundles/Mini" path
6. Store the generated “ares” binary file in the created folder
7. In the Project window select Assets/Animations/Mechs and Right click -> Reimport
8. Generate the bundles again, ESupport/Build Bundles
9. Compare the two generated “ares” files. For Windows “fc.exe /b \{file1 path} \{file2 path}”. For macOS “diff \{file1 path} \{file2 path}”
Expected result: When comparing files in Windows, the output shows “FC: no differences encountered”. For macOS, the Terminal doesn’t output anything when the files are identical
Actual result: When comparing the fc.exe program shows the differences of the files, on macOS the Terminal outputs that the files are different
Reproducible with: 2020.3.41f1
Not reproducible with: 2021.3.12f1, 2022.1.20f1, 2022.2.0b12, 2023.1.0a15
Reproducible on: macOS 12.6, Windows 11
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Spots of bad lighting appear on assets when the lighting is generated in a Scene
- Static Editor Flags dropdown list is cut off when Inspector Window is docked to the very right and UI Scaling is set to a higher value
- visionOS Players are minimized when Guided Access is turned on
- Licensing Client fails to launch when opening Unity Hub
- Sprite Atlas Inspector preview disappears when entering Play mode unless SpriteAtlasMode is set to "Sprite Atlas V2 - Enabled"
Resolution Note (fix version 2023.2.0a13):
The root cause is that the native vector normalized function (via reciprocal square root) was not deterministic across all CPU architectures. We assume that the user is comparing binaries generated on one CPU architecture compared to another (e.g. intel vs AMD). The fix was to use a more accurate reciprocal square root implementation on all platforms