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
- URP Realtime reflection probes do not update when RenderProbe() is being called once per second
- Addressable terrain shader variants are stripped from the Player
- [iOS] Debug.Log() appears as <private> in Console app
- UI stays in the background when it is disabled in simulator
- A wrong log file is attached when project is launched with a "-logFile" command line argument
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.