The project I am working on loads streaming levels like in the Asset bundle example: http://unity3d.com/support/resources/example-projects/assetbundles.
I would like to be able distribute patches for levels rather than forcing a full download. However, a few standard diff methods produced patches that were actually slightly larger than the level files. I see that one of the last steps in building a streamed level is to lzma compress it, which explains the size of the patch file. The level is not recognized by unlzma, so now I’m afraid I’m stuck. Is there any way to decompress a streaming level or any other way to produce reasonable patch files?
No you can not decompress the built assets anymore.
You will have to get a solid bitlevel patcher to handle them I fear.
On the free end I’m only aware of xpatch3 as opensource solution but there are a few industry standard ones.
Question is how large your asset bundles are cause at sizes in the “few mb range” you will not get much commonly.
I tested one that was between 10 and 20 MB. I believe some of the larger ones are over 30.
Is a bitlevel patcher different from binary patchers like bsdiff? I’m having trouble finding xpatch3. Do you have a link?
Thanks.
nope no link as I didn’t see it as meaningfull.
The general problem though remains I fear: high compressions remove the underlying datastructure completely as well as “progressive changes”, as such its hard to impossible to come up with meaningfull delta sets for them
The best thing to do it is keep the bundles as small as reasonably possible. pushing whole scenes with environment etc through could be a tad heavy.
On the other end, people are used to multi hundred mb to GB patches. WoW4 + 4.01 patch together were gigs