[Tools] Unity Assets Bundle Extractor

For community content (fan-art, fanfic, etcetera) for Wasteland 2.

Moderator: Ranger Team Alpha

Post Reply
User avatar
camoflagecaper
Initiate
Posts: 18
Joined: September 30th, 2013, 7:02 am
Location: Warren,ohio

[Tools] Unity Assets Bundle Extractor

Post by camoflagecaper » September 7th, 2015, 8:41 pm

Unity Assets Bundle Extractor (UABE) is a stylish tool that allows editing assets bundles and .assets. It can export .assets files from bundles and import them back so you can edit these.
I tested this tool with 7 Days to Die's bundles but let me know if you encounter any bugs or if you have suggestions!

I included a 32bit and a 64bit version although it doesn't use much memory.

[b]Latest Build 1.8b[/b] change log below!

Assets Bundle Extractor_1.7_32 bit.zip -, https://www.dropbox.com/s/jpdvjd3tehpn2 ... t.zip?dl=0

Assets Bundle Extractor_1.7_64 bit.zip -, https://www.dropbox.com/s/749p3n7k5ym9a ... t.zip?dl=0


Assets Bundle Extractor_1.8_32 bit.zip-, https://www.dropbox.com/s/vnanevizp3qk5 ... t.zip?dl=0

Assets Bundle Extractor_1.8_64 bit.zip-, https://www.dropbox.com/s/ofs4j41zsfvi0 ... t.zip?dl=0

Assets Bundle Extractor_1.8b_32 bit.zip-, https://www.dropbox.com/s/ojk6sun9c8prh ... t.zip?dl=0

Assets Bundle Extractor_1.8b_64 bit.zip-, https://www.dropbox.com/s/3g03amuxm1ciq ... t.zip?dl=0

Change logs below!!


Additions in 1.1 :
Added batch processing, see Usage.txt for more information.
Now the original bundle file gets closed properly when saving the modified one.
Fixed the detection of a running file operation so the program can't longer crash when fastly opening another bundle file while a modified bundle file gets saved.

Additions in 1.2 :
Added Unity 5 support (until 5.0.0f4; 5.0.0p4 doesn't work but I'll get a new version out soon)
Added an Info button to view all assets in a bundle file.

1.2b fixes the TypeTree remover for some bundle files.

Additions in 1.3 :
Added file format 0x0F support (so it works with all current Unity 5 versions).
Added class databases for all Unity asset file formats (one for Unity 4 and one for Unity 5).
Added a View Data button to view the data of the selected asset in a tree view (if the asset file format is known). Depending on the asset, it might take some time to load.
Added an option to view the asset file list of .assets files and their dependencies (open mainData to get more exact file names). It might take some time to load.


Additions in 1.3b :
Made the AssetBundleExtractor work without having a mainData file in a specific directory (some debugging stuff which I forgot to remove).
Added asset dump export and raw export functionality.


Additions in 1.4 :
Added asset importing functionality (from raw data or from asset dumps).
Added asset adding and removing functionality. To add a new asset to the file table, add it to the ResourceManager (in mainData) or AssetBundle (in any bundle file) asset.
Fixed many types in the Unity 5 type database.
Added a type database editor.


Additions in 1.5a :
Fixed a bug that broke the type tree when writing assets files
Added a Plugin API and a Texture plugin
Fixed a bug when reading aligned arrays that are no strings (only affects Dump Export)
Cleaned up some of the code (so the functions that read an asset from bundle or .assets files use the same code for both)
Added the file id inside the asset list to PPtrs in the asset Tree View
Changed the AssetsBundle saving function to use the actual .assets file writing functions to prevent tree view remover issues


Additions in 1.6 :
Cleaned up the asset tree view code.
Added a view asset button to PPtrs so you can directly view referred assets in the same tree view.
Fixed some asset writing bugs (caused by writing to the wrong file position).
Added a TextAsset plugin.


Additions in 1.6b :
Fixed raw asset exporting (the output file was previously opened in text mode)
Updated classdata_0E.dat for Unity 5.1.1p3 (for previous Unity 5 versions, use the file from an earlier release)


Additions in 1.6c :
Added a fallback to the file dialogs for Windows XP (even though I don't recommend using XP).


Additions in 1.7 :
Fixed the TextAsset plugin.
Added an AudioClip plugin which can export Unity 5 sounds to uncompressed 16-bit WAV files using FMOD. See this post if you want to import sounds.See below!

Additions in 1.8 :
Added a Mesh to .obj plugin (export) and a MovieTexture plugin (import/export)
Added .unity3d unpacking functionality (but not packing; if you want to use such a webplayer game, you can export it to a standalone one; you may ask for instructions on how to do that)
Added Texture2D support for Unity 5.1 and newer, including support for reading/writing crunched textures
Fixed Texture2D editing if the encoding and the texture itself wasn't changed (before it always reencoded the texture which only took time)
Fixed exported texture's direction (converting Unity's 'bottom to top' to 'top to bottom')
Added support for Unity 4 AudioClip assets
Added colums to the asset list and sorting by these columns
Added an asset search by name and a goto asset dialog
Added support for asset batch exporting for all plugins (not batch importing)
Fixed the color channels of some raw texture formats
Added the -keepnames switch for batch extracting, which is useful for making a webplayer game a standalone game
Fixed the crash when trying to save a .assets if the target file is not writable
Fixed the metadata size field when saving .assets (at least I think it is correct now)
Fixed the asset dump for MonoBehaviours (which still doesn't include the script-specific data)
Added a Unity 5.2.0f3 type database (which has to be used for new Texture2D assets)
Fixed the Unity 4 type database
Fixed the Info button for bundles (it now shows the asset list from the selected assets' point of view)
Improved the TreeView performance (quadratic vs. linear creation time)

Newer-----------------------------------------------------------------------------------------------------------------------------
Additions in 1.8 :
Added a Mesh to .obj plugin (export) and a MovieTexture plugin (import/export)
Added .unity3d unpacking functionality (but not packing; if you want to use such a webplayer game, you can export it to a standalone one; you may ask for instructions on how to do that)
Added Texture2D support for Unity 5.1 and newer, including support for reading/writing crunched textures
Fixed Texture2D editing if the encoding and the texture itself wasn't changed (before it always reencoded the texture which only took time)
Fixed exported texture's direction (converting Unity's 'bottom to top' to 'top to bottom')
Added support for Unity 4 AudioClip assets
Added colums to the asset list and sorting by these columns
Added an asset search by name and a goto asset dialog
Added support for asset batch exporting for all plugins (not batch importing)
Fixed the color channels of some raw texture formats
Added the -keepnames switch for batch extracting, which is useful for making a webplayer game a standalone game
Fixed the crash when trying to save a .assets if the target file is not writable
Fixed the metadata size field when saving .assets (at least I think it is correct now)
Fixed the asset dump for MonoBehaviours (which still doesn't include the script-specific data)
Added a Unity 5.2.0f3 type database (which has to be used for new Texture2D assets)
Fixed the Unity 4 type database
Fixed the Info button for bundles (it now shows the asset list from the selected assets' point of view)
Improved the TreeView performance (quadratic vs. linear creation time)


Additions in 1.8b :
Greatly improved the asset list creation performance
Fixed a minor memory leak in Texture2D (when converting the texture data fails, it now also frees the memory)


Note that you have to replace classdata_0E with classData_0E_5.0.1f1 if you use the Texture plugin for any Unity version before 5.2.

---------------------other notes

By adding your sound file to a blank Unity project and compiling it, you will get a .resource file in the compiled Data folder which only contains the sound data. Copy that file to the 7DaysToDie_Data folder.or wastland 2
Using the export/import dump functions of UABE, you can edit the desired AudioClip asset. As far as I know, you only have to edit m_Source (which you can set to the new .resource file name), m_Offset (which is 0) and m_Size to the file size (in bytes!).

You can of course also pack multiple sounds into one .resource file. This requires you to use the m_Offset and m_Size from the AudioClip asset in your own project.
Exporting sound files is not supported at the moment. I created an experimental plugin for UABE but it only outputs garbage, even for uncompressed files (I think these files are protected somehow).

UABE has a texture plugin that allows you to export the textures to uncompressed .tga and losslessly compressed .png and to import modified textures.
Camo
Last edited by camoflagecaper on October 21st, 2015, 7:26 am, edited 1 time in total.

User avatar
McDougle
Adventurer
Posts: 513
Joined: October 20th, 2012, 4:00 am

Re: [Tools] Unity Assets Bundle Extractor

Post by McDougle » October 14th, 2015, 1:09 pm

This tool sounds IMMENSELY useful. Maybe it'll enable us to edit the meshes before the official modding tools are released. :D
*trying it out now*
>When I said “no” I felt like a kid who had to stay inside and practice the piano while all his friends got to go eat ice cream and have awesome sex on the moon.<Pat Rothfuss
Shadowrun Returns videos (LetsPlays, Editor Tutorials, Modding)

Marsi84
Initiate
Posts: 2
Joined: October 16th, 2015, 6:17 pm

Re: [Tools] Unity Assets Bundle Extractor

Post by Marsi84 » October 16th, 2015, 6:27 pm

Actually I am quite a noob about modding but I discovered this tool a few days ago and wanted to give it a try.

I wanted to translate the textAsset file contained in the resources.assets. To do that i used the UABE plug in "extract to .text", edited the file and then (always using the plug in) "import from .txt".

Unfortunately nothing changed. Am I missing some step? Anyone has any clue?

I am using the UABE v1.7 32 bit

Thanks in advance.

Ray
Scholar
Posts: 103
Joined: July 22nd, 2014, 10:34 pm

Re: [Tools] Unity Assets Bundle Extractor

Post by Ray » October 17th, 2015, 12:03 am

I wish you could sort the file types better. The UAE sorts better, but I haven't found a working version for the DC yet.

User avatar
camoflagecaper
Initiate
Posts: 18
Joined: September 30th, 2013, 7:02 am
Location: Warren,ohio

Re: [Tools] Unity Assets Bundle Extractor

Post by camoflagecaper » October 21st, 2015, 7:26 am

Updated Tool!

justaguyyaknow
Initiate
Posts: 1
Joined: October 28th, 2015, 3:25 pm

Re: [Tools] Unity Assets Bundle Extractor

Post by justaguyyaknow » October 28th, 2015, 3:30 pm

Could you pretty please add an option that would dump all selected names to a text file?

Also the search doesn't seem very robust, what I mean is it appears that if I search for the word Cheese it will find Cheese, but if I continue to search it will not find CheeseDoodles it will stop on Cheese.

Thank you so much for your tool, it is amazing.

Keep up the great work

Regards, justaguy

DerPopo
Initiate
Posts: 1
Joined: November 29th, 2015, 2:57 am

Re: [Tools] Unity Assets Bundle Extractor

Post by DerPopo » November 29th, 2015, 3:06 am

Note that this isn't the actual project page. You can report bugs and feature requests here : https://github.com/DerPopo/UABE .
@justaguyyaknow The search looks for exact matches but also can find partial matches with asterisks : *Cheese* should find all entries that have cheese in their name.

nildar
Initiate
Posts: 1
Joined: June 8th, 2017, 4:50 am

Re: [Tools] Unity Assets Bundle Extractor

Post by nildar » June 8th, 2017, 4:53 am

DevXUnity Unpacker - tools

http://devxdevelopment.com/UnityUnpacker
http://devxdevelopment.com/Download

Opening of resource distribution files (Unity asset files, bundles.., apk, web-unity) with the ability to view and export of certain asset-s resource file..

Image

Image

Image

Post Reply

Who is online

Users browsing this forum: No registered users and 3 guests