An experimental command-line toolset for Unity asset and asset bundle files, mostly designed for extraction. This fork contains some custom QoL functionality.
The latest build can be found on the releases page.
disunity <command> <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
.
Command | Purpose |
---|---|
dump | Converts binary object data to human-readable plain text, similar to the binary2text tool shipped with the Unity editor. |
dump-struct | Like dump, but just for the structure information. |
extract | Extracts asset objects to regular files (.txt, .wav, .tga, etc.). See SUPPORT.md for a list of supported asset types. |
extract-raw | Extracts raw serialized object data. Could be useful for manual extraction if extract doesn't support the wanted asset type. |
extract-txt | Like dump, but writes the output to text files instead of the console. |
extract-struct | Like extract-txt, but just for the structure information. |
learn | Learns the structure information from the submitted files and stores any new structs in the database file structdb.dat. The database is required to deserialize standalone asset files, which usually don't contain any structure information. |
info | Outputs various information about assets and asset bundle files. |
info-stats | Outputs class usage statistics for asset files. |
bundle-extract | Extracts all packed files from asset bundles. |
bundle-inject | Injects files previously extracted with the bundle-extract back into the asset bundle. |
bundle-list | Lists all files contained in asset bundles. |
split | Attempts to split an asset file into multiple smaller asset files. |
list | Lists all asset objects in a tabular form. |
Run disunity with the -h
parameter for further usage.
Extract all supported assets from a bundle file:
disunity extract Web.unity3d
Extract all packed files from two bundle files:
disunity bundle-extract episode1.unity3d episode2.unity3d
Extract textures from the asset file sharedassets0.assets:
disunity extract -f texture2d sharedassets0.assets
Dump web player configuration from the file named Web.unity3d:
disunity dump -f playersettings Web.unity3d
Show information about all asset files in the directory "assets":
disunity info assets\*.asset