An experimental command-line toolset for Unity asset and asset bundle files written in Java, mostly designed for extraction.
The latest build can be found on the releases page.
A note about the versions
0.3 works best with Unity 3.x and has most of the original extraction features.
0.4 is a somewhat incomplete and untested upgrade to support Unity 4 and 5 and has some of the extraction features of 0.3.
0.5 is a code rewrite to properly support all Unity games from 2 to 5 that also comes with unit tests. Right now, it only supports raw file reading and writing without any object deserialization, therefore it also can't extract any asset data directly.
disunity <command> [options] <file>
Note: depending on the platform, you may need to run disunity.bat (Windows) or disunity.sh (Linux/MacOS). In case the launch script fails, try
java -jar disunity.jar.
Available commands (v0.5)
|asset blocks||List data block offsets and sizes. Could be useful for manual extraction.|
|asset externals||List asset file dependencies.|
|asset header||Display some information from the file header.|
|asset objectids||List object identifiers (Unity 5 and higher only).|
|asset objects||List object data entries.|
|asset types||Display embedded runtime type information.|
|asset unpack||Unpacks raw data blocks from a file. Could be useful for manual extraction.|
Asset bundle commands
|bundle list||List bundled files.|
|bundle info||Display some information from the file header.|
|bundle pack||Pack files into a bundle. Requires a bundle property file.|
|bundle unpack||Unpack files from a bundle.|