• If you have a mod, tool or prefab, please use the Resources section. Click Mods at the top of the forums.

UABE - Asset Bundle Extractor

First of all, thank you, DerPopo, for the tool. It's been immensely useful in my work documenting games for Gamepedia. Even I have yet to figure out batch processing... Spent two days extracting Tyranny and Pillars of Eternity bundles with map images, fingers still think I'm crazy. :)

I'd like to second the request for Tarkov support. I've taken the liberty of screenshotting the hex view:

https://www.dropbox.com/s/xjxdzkgwx40xkg4/Hex%20View%20AK.png?dl=0

And uploading the file in question (with the manifest).

https://www.dropbox.com/s/6gxbnvbls2u5oeb/ak74.zip?dl=0

The problem seems to be with this particular version, non-weapon bundles open normally.

(the game's no longer under NDA)

 
hello can i ask something .. how can i batch extract the files from .assets file ?

i mean extract 3d object textures with multiple assets file.

 
hello can i ask ? is there a feature that can extract .assets files by batch..

extract all 3d objects and texture from all assets files in folder.

 
Hi, thank you and great job.May I ask if there is a way to make sense of the materials asset in the .unity3d files?

Currently there is no plugins for materials. I'm just wondering if the information contained within the .unity3d file is sufficient to reproduce (or extract) the materials such that we can use it in unity?

View attachment 19424
The textures referenced by the material can be extracted (View Data should show all references) but the shaders are stored in a binary format, at least in newer Unity versions. Theoretically it should be possible to reproduce the materials but decoding the shaders to shader code is an issue at the moment.

Will this tool add and AnimationClip and more Animation featured plugins?
Animations are mostly useless until the full models (including bones) can be extracted.

In future, will you add feature that allow to export models to fbx with bones are supported and reimport fbx model?


First of all, thank you, DerPopo, for the tool. It's been immensely useful in my work documenting games for Gamepedia. Even I have yet to figure out batch processing... Spent two days extracting Tyranny and Pillars of Eternity bundles with map images, fingers still think I'm crazy. :)
I'd like to second the request for Tarkov support. I've taken the liberty of screenshotting the hex view:

https://www.dropbox.com/s/xjxdzkgwx40xkg4/Hex%20View%20AK.png?dl=0

And uploading the file in question (with the manifest).

https://www.dropbox.com/s/6gxbnvbls2u5oeb/ak74.zip?dl=0

The problem seems to be with this particular version, non-weapon bundles open normally.

(the game's no longer under NDA)
The files have a simple protection. Each byte in the file is the original byte XORed with 0x47.

I've already sent this tool to some who have asked so I can just post it here as well :

https://www.dropbox.com/s/b77kryvb9p0a9kb/xor47h.zip?dl=0

Drag the protected file into xor47h.exe and it'll output the unprotected file with "-xor".

If you want to batch export bundles, create a text file like '+DIR <full directory path of the bundles>' (Windows line ending), create a batch file containing 'AssetBundleExtractor batchexport <full batch file path, if it contains spaces start and end with ">' and start it. Make sure the folder only contains valid bundle files, so in case of Tarkov only the unprotected .bundle files.

hello can i ask something .. how can i batch extract the files from .assets file ?i mean extract 3d object textures with multiple assets file.
You can select multiple .assets files in the open dialog, sort by type, select all Meshes you want to extract and use the plugin as usual. Repeat the same thing for the textures.

 
a bug

Hi,

thank you for your great job.I think i found a bug.

I'm using 2.1c to export and import mesh files in another game.

When i export dump and then import it, the game always crashed.

And do the same thing by raw, crash won't happen.

So i export dump and then import it and then export it to raw,

compare it with the original raw file by hex viewer, they are different.

The raw file of dump seems like dislocation.I fixed dislocation and crash fixed too.

 
GameObjects and Modification

Hello, DerPopo. After using your tool for almost a year, I am impressed by the versatility for modding that this tool presents. Editing locations of objects, textures, and if they exist in the game or not. However, there is one issue that I couldn't wrap my head around, and I hope you have advice for doing this:

How does one edit the components of a GameObject?

By that I mean editing the initial public or private variables a GameObject has when the scene loads or when the prefab is instantiated. An example could be an enemy having a health variable, and and using UABE to change the health of the enemy to a different number. If you can provide a solution to this dilemma I have, that would be greatly appreciated.

Thanks for making this in the first place, it has been very useful.

 
new here

I am very new to this so please forgive my ignorance. I have downloaded every API you have provided but none of them has exe file to run.

So what I am missing?

 
I've updated the type package to include a database for 5.6.0f3. You can find it on the main post.

Edit : Another small bugfix, 2.1d, has been released.

Hi,thank you for your great job.I think i found a bug.

I'm using 2.1c to export and import mesh files in another game.

When i export dump and then import it, the game always crashed.

And do the same thing by raw, crash won't happen.

So i export dump and then import it and then export it to raw,

compare it with the original raw file by hex viewer, they are different.

The raw file of dump seems like dislocation.I fixed dislocation and crash fixed too.
Probably the Unity version that game uses has a slightly different Mesh format than the class database used by UABE. Except creating a type database for each and every Unity release, there's not much I can do about it. UABE already has class databases for all semi-major Unity releases from 3.4 to 5.6, for each of which I had to manually update my type extractor tool.

Hello, DerPopo. After using your tool for almost a year, I am impressed by the versatility for modding that this tool presents. Editing locations of objects, textures, and if they exist in the game or not. However, there is one issue that I couldn't wrap my head around, and I hope you have advice for doing this:
How does one edit the components of a GameObject?

By that I mean editing the initial public or private variables a GameObject has when the scene loads or when the prefab is instantiated. An example could be an enemy having a health variable, and and using UABE to change the health of the enemy to a different number. If you can provide a solution to this dilemma I have, that would be greatly appreciated.

Thanks for making this in the first place, it has been very useful.
Stuff like object properties specific to the game is usually located in MonoBehaviour assets linked to the GameObject through the component list. These contain the values of local variables in script classes that are most often located in Assembly-CSharp.dll. Except for bundles where all the type information is already located in the .assets files, UABE can only show the common properties of all MonoBehaviours such as the MonoScript reference. Tools like ILSpy may help finding the variables and their order. If you need to look at batches of MonoBehaviours, maybe this github issue can help you. For single files, it's likely easier to view the raw asset in a hex editor. Note that all variables are aligned at 4 bytes.

 
Last edited by a moderator:
Unpacking multiple compressed files at a time

Hi,

Is there a feature to unpack multiple compressed files at a time? If not, is there a plan of adding it in the future? Or, is there another tool that can do that?

 
I'm working on a type information extraction tool for scripts. The tool itself works so far but I still need to integrate it into UABE and make sure it always produces "perfect" matches so the hashes are equal to Unity's. It will add many new options to modding by being able to modify all default variables stored in scripts instantiated with MonoBehaviour assets.

Hi,
Is there a feature to unpack multiple compressed files at a time? If not, is there a plan of adding it in the future? Or, is there another tool that can do that?
There is a batch extraction command line option for bundles. It's described in Usage.txt. The bundles should be located in a separate folder so no other files could cause issues. If it successfully extracted the bundles, you can open them in UABE separately or all at the same time (the file dialog allows multiple selections).

 
There is a batch extraction command line option for bundles. It's described in Usage.txt. The bundles should be located in a separate folder so no other files could cause issues. If it successfully extracted the bundles, you can open them in UABE separately or all at the same time (the file dialog allows multiple selections).
Thanks for the answer! I found it and it works like a charm.

 
Is it possible to automatically create folders based on the asset's path when using "Export to ___" plugin?

e.g. The asset name is "assets/folder/subfolder/image.png". After using the plugin, the app creates "assets/folder/subfolder" folder if it doesn't exist and put the image.png file into it.

 
thanks for this useful tool @DerPopo, ive been using for a while now. I have however question, some assets are compressed and when you decompress them with UABE you can make your edits however not able to recompress them back. Would it be possible to add recompressing function?

many thanks and keep up good work

 
Is it possible to automatically create folders based on the asset's path when using "Export to ___" plugin?
e.g. The asset name is "assets/folder/subfolder/image.png". After using the plugin, the app creates "assets/folder/subfolder" folder if it doesn't exist and put the image.png file into it.
While that's certainly possible with batch extraction, it would cause issues in the file save dialog as it shouldn't create the folder before the user presses save (and it doesn't allow slashes in the file name.

thanks for this useful tool @DerPopo, ive been using for a while now. I have however question, some assets are compressed and when you decompress them with UABE you can make your edits however not able to recompress them back. Would it be possible to add recompressing function?
many thanks and keep up good work
I'll look into it.

hi how update this tool DerPopo?
I've just not changed that text since 1.0. If you downloaded the newest version, it's not 1.0 no matter what that text says.

DerPopo, please help with view linked data for MonoBehaviours variables changed in inspector.What a make this?

https://7daystodie.com/forums/showthread.php?22675-Unity-Assets-Bundle-Extractor&p=477413&viewfull=1#post477413
You can create the type database as described in the github issue and use the order as shown in the inspector.

The next UABE release will be able to extract the information automatically so these steps won't be required anymore in that case (except if a special case is not handled properly).

 
Back
Top