disunity icon indicating copy to clipboard operation
disunity copied to clipboard

Support the `UnityFS` asset bundle type

Open chrsmith opened this issue 9 years ago • 3 comments
trafficstars

I've been exploring a game's resources using Disunity (using v0.3.4), but after the latest patch I get the following error:

assetbundle.AssetBundleException: Invalid signature

Digging through the source code of the 0.4.0 branch, it appears that the new asset bundles contain a new signature. In particularly, the game's updated asset bundles contain the following signature(obtained from opening it via a hex editor):

UnityFS5.x.x5.3.2f1IB[C±„°IAðCAB-575e584c88bb788922bcda6e84ea6555]

I believe "CAB-575e584c88bb788922bcda6e84ea6555" might be the name of a file embedded in the Unity bundle. I presume the problem is the UnityFS prefix, where Disunity expects UnityWeb or UnityRaw. See:

https://github.com/ata4/disunity/blob/0.4/disunity-core/src/main/java/info/ata4/unity/assetbundle/AssetBundleHeader.java#L130

Could you provide a little more context on what the difference is between the current UnityWeb and UnityRaw signatures? Is this the encoding scheme? Would it be a lot of support to wire in UnityFS? I'm happy to try and submit a patch, but any background on the significance of different types of asset bundles would be helpful.

Thanks!

chrsmith avatar Feb 12 '16 04:02 chrsmith

UnityFS? Seems new to me, could be possibly a new file format introduced in 5.x. Do you possibly know how to create these files? Because the editor only produces UnityWeb files for me.

ata4 avatar Feb 14 '16 19:02 ata4

The new api in unity5.x BuildPipeline.BuildAssetBundles can create 'UnityFS' file. You can use this.

AmbBAI avatar Feb 15 '16 08:02 AmbBAI

Link to the English version of the same tool. Thanks for sharing @AmbBAI !

chrsmith avatar Feb 16 '16 15:02 chrsmith