I’m struggling to get Remote Addressables working correctly. I’ve followed several forum discussions, tutorials, documentation, but my remote assets don’t seem to update after I upload new versions to my server.
Here’s what I’m doing step-by-step:
I have a Ferrari model (just as an example) marked as Addressable.
I go to Addressables Groups → Build → New Build → Default Build Script.
It generates the files:
catalog_0.0.1.bin
catalog_0.0.1.hash
Some *.bundle files
I upload all of these files to my API server — they’re publicly accessible and I can manually download them via URL.
I build an Android APK, install it on my phone, and the game correctly shows the Ferrari.
Then, in Unity, I replace the Ferrari with a Porsche (same address and name, I just replace the model file in Windows Explorer).
I go to Addressables Groups → Build → Update a Previous Build, get the new catalog_0.0.1.bin, .hash, and updated .bundle files, and replace them all on my API server.
When I reopen the game… I still see the Ferrari instead of the Porsche
I’ve already tried many variations:
Incrementing the version (e.g., from 0.0.1 to 0.0.2)
Changing the bundle mode to “Pack Separately”
Clearing the Addressables build cache
But no luck — the old asset keeps showing up. It only works if I generate a new APK (and that’s exactly I’m trying to avoid using Addressables).
I’m currently using Addressables v2.7.4.
Does anyone know what might be going wrong? Is there something I’m missing about how the remote catalog or bundle updates are supposed to work on Android?
This usually happens when the remote catalog is not actually updated, even if the bundles were uploaded.
A few things to verify:
Is “Build Remote Catalog” enabled in Addressables settings?
Was a “Update a Previous Build” (content update build) performed instead of a full rebuild?
Did the catalog hash file get uploaded together with the catalog JSON?
Is your CDN caching the old catalog file?
Addressables determines updates based on the catalog hash, not just the bundle files.
If the catalog doesn’t change, the client won’t download new bundles.
I forgot to share, I found a way to fix it. Maybe it was a misunderstanding on my part about how Addressables system works. I had a prefab marked as addressable, e.g.:
Visual model (.fbx): animator, mesh, armature, rigs
UI: player name
My visual model was also marked as an addressable and I was replacing the .fbx and thought it was enough, but it is not! The solution is that, I keep the .fbx model as an addressable but now, in runtime, I have a script to instantiate the model as a child of the root object, this solved my problem. The addressable system cannot detect the changes in child objects (that’s what I understood from this problem).
So, hero is the prefab.
UI is the player name and other UI stuff.
The visual model is instantiated at runtime.