Search Issue Tracker
By Design
Votes
0
Found in
2021.3.9f1
Issue ID
UUM-12895
Regression
No
AssetBundles don't rebuild in older versions when they were built with a newer version of Unity
How to reproduce:
1. Download the attached “Test_a” project
2. Create a copy of “Test_a” and rename it to “Test_b”
3. Open the “Test_b” project
4. Select “Assets“ → “Support“ → “BuildAssetBundles“ in the main menu
5. Close the “Test_b” project and open the “Test_a” project in an older version than was used to open “Test_b”
6. Select “Assets“ → “Support“ → “BuildAssetBundles“ in the main menu
7. Select “Assets“ → “Support“ → “GetAssetBundleInfo” in the main menu
8. Observe the Console
Expected result: Both the “Unity Version:” and “bundle Version:” logs show the same version
Actual result: The “bundle Version:” log shows a newer version than the “Unity Version:” log
Reproducible with: 2021.3.0a9
Couldn't test with: 2020.3.39f1 (Script compilation errors), 2022.1.13f1, 2022.2.0b6, 2023.1.0a9 (Console errors when building AssetBundle)
Reproducible on: Windows 10
Note: Tested using 2021.3.0a8 as the older version than 2021.3.0a9
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:
The particular forward compatibility issue is related to a one-time padding change in the AssetBundle header which has been backported to the version in question. Typically such changes that break forward compatibility should be very rare because the AssetBundle format is quite stable and well established. In general we also do not support forward compatibility of AssetBundles because the serialization and heirarchy of objects in a bundle may change in a way that older versions of the code cannot handle (the same is true for scenes and other assets)
However although we cannot fix the specific case mentioned, we have opened up two follow up internal tickets, e.g. to make sure the hash incorporates the unity version and to expose the unity version in the .manifest file.