Discussion in 'Tech Chat' started by lonesome killer, Feb 9, 2014.
I have a bunch of .unity3d files I want to open to get some sound files out.
I got you...
wtf those ads?
Got adblocker so I dont see no ads
Looks like it is near impossible to do what you ask lonesome based on what I have seen so far.
Yes I Google'd it for about 2 hours and could find nothing.
OK I found this program to do it. https://github.com/ata4/disunity
But it's all command prompt based. I have no idea how to input commands in command prompt. Oh mighty Pengu help me!
disunity -c <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.
dump - Converts the asset file to plain text, similar to the binary2text tool shipped with the Unity editor.
dump-struct - Like dump, but just for the data structure.
extract - Extracts supported asset content and stores it in regular files. Default command if the -c parameter is omitted.
extract-raw - Extracts the raw serialized binary data from the asset.
learn - Learns the structure from an Unity webplayer bundle (*.unity3d) and stores any new structs in the database file structdb.dat. Its data is required to deserialize standalone asset files, which usually don't contain any structure data.
info - Outputs various information for assets and asset bundle files.
info-stats - Outputs class usage statistics for asset files.
unbundle - Extracts Unity webplayer bundles (*.unity3d).
fixrefs - Fixes shared asset references in extracted scene files by converting relative to absolute paths so they can be opened with the Unity editor correctly.
Note: If the shared assets are moved to a different folder, the scene needs to be fixed again.
split - Attempts to split an asset file into multiple smaller asset files.
list - Lists all objects and files in a tabular form.
Run disunity with the -h parameter for further usage.
Command prompt is somewhat easy if you are used to linux terminals.
1. Open Command Prompt
The command cd is for Changing Directory
2. Navigate to the directory containing disunity
For a file, you will need a directory and the file with extension. An example "C:\Users\Karl\Documents\test.txt"
3. type disunity -c (yourcommandhere such as dump) "C:\..."
4. press enter
5. things will display in the command prompt
6. respond to any questions the program asks
7. kaboom! You are probably done. If not repeat 3-6 for each file.
Sounds complicated. I will do it tomorrow after I get some sleep.
Also, I see this
Does this mean I will have to download those things too?
Very likely. My understanding is that the .unity3d file is a "web player" asset file. I suspect what's happening is the decompiler has to pretend to be running it on a web page to get access to the contents of said file.
But you can still make unity standalone games without a browser. Or is it coded om some kind of "fake" browser.
I suspect the web browser method is probably the easiest and most cross-platform way to decompile the asset files.
Separate names with a comma.