Hello!
I’m trying to figure out if I’m doing something wrong or if this just doesn’t work with WebGL. Let me explain.
I have a folder with the following structure, which I’ve turned into an Addressable Group:
MinigameOne/
├── Boot.unity
└── Assets/
├── material-image.png
├── Material.mat
└── Building.fbx
In a built-in scene, I have a button that calls the LoadMinigame
function. Here’s the code:
[SerializeField] private AssetReference minigameOneScene;
private AsyncOperation _asyncOperation;
public void LoadMinigame()
{
StartCoroutine(LoadAsset());
}
private IEnumerator LoadAsset()
{
yield return Addressables.DownloadDependenciesAsync(minigameOneScene, true);
minigameOneScene.LoadSceneAsync();
}
I then create a build at Unity Cloud Build that uploads the generated Addressables to Unity’s Cloud Content Delivery (CCD). After the build completes, I use a post-build script to upload the WebGL build to Google Cloud Platform (GCP). So far, everything works perfectly. The scene loads correctly within the build as well.
However, I also have a Cloud Build configuration that generates only the Addressables as a Content Update and uploads it to CCD. When accessing the original WebGL build, I expect the updates (e.g., a change in an asset’s rotation) to reflect correctly. But the update fails to load.
In the network logs, it shows that the asset bundle was downloaded correctly, but a 404 error occurs stating that a shader file couldn’t be found: https://storage.googleapis.com/my-project/StreamingAssets/aa/WebGL/###_unitybuiltinshaders_##.bundle
Why is this happening? How can I fix it?