Versioning asset bundles for web player game

We’re making an online web player game that uses many asset bundles(count to 100 or so), these asset bundles will be dynamically downloaded.

We use the Character Customization sample way to build the bundles. And use LoadFromCacheOrDownload to load or download needed asset bundles on the fly.

Each asset bundles will be changed occasionally, so each assert bundle may have different version. We meet the problem to manage the versions, for each time we build the asset bundles, even there is not any changes, the output asset bundle file(check sum) will be different.

So it is nearly impossible to version these asset bundles. Does anyone meet such problem? Or any suggestion? Thanks.

It is solved after we update to Unity 3.4. The bundle can keep if no related asset change.

I would use a “last modified date” versioning system. If you know when the asset bundle changes (e.g. moved a model), you would just update the last modified date to the current time (last mod. date would be stored in a seperate file/DB, not using the file system’s meta data).

It does seem, however, that you are building the asset bundles more than you need to, maybe to the point of every time you need them. If the bundles are made by hand, then you would only have a file with a new checksum every time you made a change. On the other hand, if they were being built automatically from files uploaded to the project, see if you can try to only build the bundle when a file changes, not every so often (like every hour). (The automatic building seems more likely, because why would you build a bundle when nothing changed?)

Remember that you have access to a large portion of the .NET 2.0 library, which includes networking capabilities beyond Unity’s WWW class and file system access.