@min121212 , Hi there, generally speaking if you’re rebuilding AssetBundles on the same machine and there are no changes, they should be identical. If you change machines between builds, there is unfortunately some indeterminism that can happen, but on the same machine this should not be the case.
If possible, could you send a bug report reproducing this issue so that we can take a look at it? We know that indeterminism in AssetBundle building, while uncommon, is one of the more frustrating parts of uploading remote content, so having a project that reproduces one way this indeterminism arises would be very helpful for fixing it!
A way to reproduce the problem is to build the Addressable twice in a row.
I’ve attached some of the logs that show up in the Unity Editor Console after building Addressable. This is a warning message related to shaders, and occurs in some shaders.
[SHADERGRAPH_NAME_a] pow(f, e) will not work for negative f, use abs(f) or conditionally handle negative values if you expect them at line [LINE_NUMBER]
[SHADERGRAPH_NAME_b] floating point division by zero at line [LINE_NUMBER]
[SHADERGRAPH_NAME_c] implicit truncation of vector type at line [LINE_NUMBER]
…
There are many prefabs in Addressable Groups that use these shaders. Can these Warning messages affect bundle changes?
I have the same bug almost every time I change something on the addressable id changes the name of the asset bungle. But the main problem is that the Unity Content delivery uses the name of the asset bungle so every time I change any asset or add any asset to addressable. I need to rebuild it, upload it on the CCD, make a new build for my server, upload that on Multiplay, and rebuild my client. Just because the asset bungle name keeps changing every single time.
It is happening the same to me, the behaviour seems to be when I change the build target from Android to WebGL and viceversa. In more detail, this happens:
I build addressables for WebGL and then I build WebGL client app
Then I switch the build target to Android to build an oculus app
Again I switch to WebGL in order to do some bugfixed, I build the application and now the addressables has been changed in name, so the client is for some reasons asking for addressables that don’t exist on the remote server I populated during the first build. I didn’t changed anything regarding these addressables and I didn’t build anything on their side, just a new client application build
Another project, similar issue, where when I press “update previous builds”, it creates new bundles without replacing the older ones, with a new catalog and new names, so the old application can’t reach the updated addressable build, even the things that were there before.
Other than that, the first time I build certain groups I get some folders structured like data/[Build Target]/prefabs/[Build Target] but from the second time I get these bundles located in the root folder of the addressables destination (ServerData/[Build Target]). After 1 build and 2 updated builds, I have triple bundle for each of my character avatar prefabs, 1 of each in the structured folder, the other 2 in the root folder.