Jump to content
DerPopo

Unity Assets Bundle Extractor

Recommended Posts

Ancient version 1.0 screenshot

Screenshot.PNG.45b4770a64c86815f97a6f519b74770c.PNG

 

Unity Assets Bundle Extractor (UABE) is a stylish tool that allows editing asset bundles and .assets. It can export .assets files from bundles, import them back, modify most asset formats with plugins and dumps with type information and create a standalone installer from the modifications.

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.

Installers created with the 64bit version can't be used on 32bit systems but an installer package can be exported from the 64bit version and imported in the 32bit version to create a 32bit installer.

 

Old changelog : here

 

Changes in 2.2 stable :

  • Add a new 'Add' option for MonoBehaviours.
  • Bundle replacer type information and hashes inside installer packages.
  • Add support for 2018.3; streamed mesh export is not tested.
  • Add a new console command 'applyemip' to apply installer packages.
  • Fix the file order in written bundles to stay the same.
  • Fix the serialized flag for bundles so it is not set on .resS files.
  • Write assets listed in the preload table before others.
  • Fix reading Mesh assets.
  • Fix the window focus after progress dialogs.
  • Improve the errors logged to progress dialogs and make them stay open if an error occured.
  • Improve the MonoBehaviour type retrieve tool for array and List fields.
  • Look for newly added MonoScripts when retrieving MonoBehaviour script info.
  • Fix writing bundles with an installer package loaded.
  • Fix writing multiple .assets files with an installer package loaded.
  • Fix a crash that may occur when adding a new asset in a bundle and reopening the 'Asset info' dialog.
  • Fix a crash when using assets that were added, removed and added again.
  • Fix locating script assemblies in 2018.2 and 3. Also added m_AssemblyName in MonoScript manually to 2018.2 and 3 type databases, since it was missing.
  • Allow setting the field version in the type database editor.
  • Fix removing version targets in the type database editor.
  • Fix version names in classdata.tpk.
  • Fix the file name extension for exported .obj meshes.
  • Improve classdata.tpk compression.

Changes in 2.2 stable b :

  • Fix Mesh export (again).
  • Fix mip map generation for RGBA32 textures.

Changes in 2.2 stable c :

  • Add class databases for 2018.4.5f1 and 2019.1.0f3
  • Support the slightly changed Unity 2019 .assets file format.
  • The mod installer now uses a statically linked AssetsTools.dll to reduce file size and hopefully reduce the amount of false-positives.

Changes in 2.2 stable d :

  • Add a class database for 2019.2.0f1.
  • Support the updated Unity 2019.2 .assets file format.
  • Make the mod installer close properly after a file dialog was opened.

 

If you have no forum account but want to give me feature requests or want to report bugs, you can use the github page.

 

By downloading and/or using this software, you agree to the terms of its license ("human-readable summary").

 

Old releases : here

API Releases :

2.2 stable c API (here or here)

2.2 stable d API (here or here)

 

Releases :

 

2.2 stable b (32bit : here or here, 64bit : here or here)

2.2 stable c (32bit : here or here, 64bit : here or here)

2.2 stable d (32bit : here or here, 64bit : here or here)

Edited by DerPopo
2.2 stable d + API (see edit history)
  • Like 7

Share this post


Link to post
Share on other sites

Hi, I tried it butit always says unknown unable to read Bundle file! (invalid file or unknown version?)

Tried to open the resources.asset.

  • Sad 1

Share this post


Link to post
Share on other sites
Hi, I tried it butit always says unknown unable to read Bundle file! (invalid file or unknown version?)

Tried to open the resources.asset.

 

As i understand this program unpacks the asset files from the Bundles Folder > BlockTextureAtlases and TerrainTextures > These files can be opened with UAE.

 

I tested the tool and it works. Thx @ DerPopo

Share this post


Link to post
Share on other sites

Cam i beg for an explaining this for some one, who arent familiar at the programing? What this does? how it works step by step?

 

Thnx for the reply =)

Share this post


Link to post
Share on other sites
Cam i beg for an explaining this for some one, who arent familiar at the programing? What this does? how it works step by step?

 

Thnx for the reply =)

 

This tool extracts .assets files from assets bundles (like BlockTextureAtlases) so you can view them with UAE.

To extract an .assets file, just press File->Open, select the file, press Export and select the output file.

To import an .assets file, do the same steps as above but press Import.

7 Days to Die's block textures are stored in these assets bundles so this allows you to edit them.

 

Awesome work DerPopo. Thanks for looking into this for me. Would you mind if I post a link in some other forums? I'll make sure you get full credit.

 

Of course, feel free to post a link.

Share this post


Link to post
Share on other sites
This tool extracts .assets files from assets bundles (like BlockTextureAtlases) so you can view them with UAE.

To extract an .assets file, just press File->Open, select the file, press Export and select the output file.

To import an .assets file, do the same steps as above but press Import.

7 Days to Die's block textures are stored in these assets bundles so this allows you to edit them.

 

 

Thnx for the reply, and i need to ask another favor, if i did the export, after what need i use, to actualy see the files, and "makes some sense" for a beginner like me. I just can humbly say thnx, for the great community, how they keep us "feed" and help, and still give help to the greens to ;)

Share this post


Link to post
Share on other sites
Thnx for the reply, and i need to ask another favor, if i did the export, after what need i use, to actualy see the files, and "makes some sense" for a beginner like me. I just can humbly say thnx, for the great community, how they keep us "feed" and help, and still give help to the greens to ;)

 

1. Start UABE

2. select File-> open and browse for BlockTextureAtlases on my pc its C:\Program Files (x86)\Steam\SteamApps\common\7 Days To Die\Data\Bundles)

3. Make sure Remove the Treetype is selected in UABE, click EXPORT and save the file as test.asset

4. Open test.asset in UAE just as you would with sharedasset2.asset or any other asset file. (if you can't see the file make sure that UAE looks for all files instead of just *.asset if you just saved it as test)

Share this post


Link to post
Share on other sites
Does it work with audio and/or meshes?

 

Can it be used to edit existing assets?

 

This is no .assets file editor, it's a tool that extracts .assets files from bundles (like BlockTextureAtlases) so you can edit it with UAE.

Share this post


Link to post
Share on other sites

Here's some eye candy :

F7nmdYym.png

I have made a tree view for assets that uses the type information in asset bundle files. I tested it with multiple Unity 4 and Unity 5 asset bundle files and different asset file formats and it works so far.

I will add an option to load .assets files to view the asset data of these.

Share this post


Link to post
Share on other sites

I have released v1.3. It can show the data of assets in a tree view and now also opens the asset list for .assets files outside a bundle file.

I am planning to add an export/import button for assets that also allows to read and write type tree dumps.

Share this post


Link to post
Share on other sites

I spoke a little to soon haha, version 3 doesn't even run; is this because I don't have unity5 installed or does that not matter at all? I downloaded 64bit and I have a 64 bit computer so I don't know why it wont run.

Share this post


Link to post
Share on other sites

There is an error that causes a crash but I'm not sure what causes it (it works perfectly on my Windows 8.1 64bit but on Windows 7 it crashes instantly). I will look into this. Unity 5 is not required to run this program.

Share this post


Link to post
Share on other sites

V1.4 has been released. Modifying .assets files now is possible.

 

The next things to do are file format exporter and importer plugins, fixes for the Unity 4 type database and a better way to find out which asset a PPtr field is pointing to.

Share this post


Link to post
Share on other sites

V1.5a has been released with some bug fixes and a plugin API.

I included a Texture plugin that supports reading and writing the texture data formats RGB24, RGBA32, BGRA32, ARGB32, ARGB4444, RGBA4444, RGB565, DXT1 and DXT5. You can export the data to the lossless file formats .png and .tga and import these.

Multiple textures in one file (which does not include texture atlases) and making mip maps is not supported.

Share this post


Link to post
Share on other sites

Wil check this awesum tool tomorrow this has some hight priority thank you der popo and if I understand you corectly we can extract assets from bundles and edit the assets whit this ore edit the bundles.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...