Quick answer: BuildAssetBundleOptions.ForceRebuildAssetBundle for clean rebuild. Or delete Library/BuildCache.
Update a texture, rebuild bundle. Player still loads old texture. Build cache served stale entry.
The Fix
BuildPipeline.BuildAssetBundles(
outPath,
builds,
BuildAssetBundleOptions.ForceRebuildAssetBundle |
BuildAssetBundleOptions.ChunkBasedCompression,
BuildTarget.StandaloneWindows64
);
// Or nuke cache
Directory.Delete("Library/BuildCache", true);
ForceRebuild bypasses cache. Manual cache clear works too. CI builds: pre-build clean to guarantee fresh.
Verifying
Bundle bytes change. Player loads updated texture. Without force: same hash returned.
“ForceRebuild. Or clear cache.”
Related Issues
For AssetBundle MP4, see MP4. For AssetBundle encryption, see encryption.
Force rebuild. Fresh.