Jump to content

UABE - Asset Bundle Extractor


Recommended Posts

19 hours ago, n2n1 said:


I couldn't open this file as a Unity asset with any of my programs. Are you sure this is a Unity asset?


Yeah me too im sure it is an unity file format here is the game https://caliber.ru/ru/ i open it by hex editor and saw many complex file format like .prefabs, and .fbx

Edited by eliteforcevn (see edit history)
Link to comment
Share on other sites

I'm not sure if this will help - but I have had success exporting AssetBundles that are within StreamingAssets (albeit for another game) using UnityEX.


Unfortunately, I have found no way to import individual assets back in to AssetBundles that are within StreamingAssets. I think it would likely be possible via UABE, assuming the Unity version is supported.


Of course, this may be irrelevant if AssetBundles and Configs are fundamentally different - I am not very experienced on all of this.

  • Like 1
Link to comment
Share on other sites

So I have a  bit of a strange one.  I'd like to be able to mostly just remove effects for games with no settings to disable them (which, unfortunately, means most Unity games.)  For example, vignette and motion blur shaders.  For most games I can just simply use this and remove the shader asset responsible from the appropriate assets file.  The game can't load it and then just simply doesn't use it in most cases, which works just great.  I've run into a few games like My Time at Portia which apparently run some sort of check on the files and if they find an asset missing produce an error and crash or stop though.  But more specifically, right now I'm actually trying to do something a bit more unusual:  I want to modify a Switch game, Morphite.  It has a vignette shader that is just awful IMO.  While I was successfully able to remove a couple of annoying shaders from another Switch game (Windscape's bloom shader is ten kinds of awful and went bye-bye) it's failing with Morphite (the game simply crashes on start.)  Unfortunately that doesn't give me much to diagnose it with.


There's only one key difference I can specifically point to.  I think Morphite must be using a vignette shader I presume is provided by default with Unity.  Path ID numbers are exceptionally low and it is in the globalgamemanagers.assets file, whereas in Windscape the bloom shader I removed is in sharedassets1.assets with much higher numbers.  However, I am able to successfully remove the vignette shader from the PC version (which is built close enough to the same that I can even transfer save data back and forth FWIW, but I know that doesn't mean much.)  The versions are slightly different with different IDs and formats on the actual files themselves (the Switch shaders say "Switch" in type instead of DX11 or etc) but of course I'm just trying to remove, not replace.


BTW, is there a better way I can be doing this?  For example, what I really wish I could do is somehow import a null shader that just literally does nothing so games wouldn't produce errors, seeing the shader they expect present, but it just simply doing nothing.  It would also be even better if somehow I could just edit their configurations to disable the shaders I don't want entirely.  In the case of Morphite I found a FxPro shader which has a number of settings including vignette at 0.5, so I thought if I dumped that, changed it to 0.0 and imported that modified dump maybe that might work (since it would even be the same file size) but sadly that didn't work either.  That seems closer to a long term solution, but I'm not even sure how I would edit out effects in many games even if the method itself should work -- or specifically how even to find where many would be configured.  I think editing might be less realistic because some things may not even have a configuration option one can just change but may be more hardcoded in (I've noticed more and more Unity games having all effects on even on the lowest graphics settings for example.)

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 month later...
7 hours ago, BoomBookTR said:

locale.rar This file isn't a valid assets file.




What can i do?



I confirm that i can't open this file via UABE either. Probably, the reason is outdated UABE databases.

Because other utilities open it successfully (but they don't have the ability to edit it).

Link to comment
Share on other sites

Hi all. just want to ask.
Is there any tool that can open asset bundle file from old unity version(e.g. 2018.4.23) , and create new bundle  for newer unity version(e.g 2019.4.10).

I can understand that the Unity making the bundle by using lib of the current version.  So can we make a tool that will open older bundle with older lib, and convert it into new with new lib?

Link to comment
Share on other sites

Hi. I have been trying to use Unity Asset Bundle Extractor to edit a mesh in a unity game made with unity version 2019.4.16f1. UABE prompts me to choose a version when opening any .assets file from the games data folder, but this version is not there. I have instead tried using the newest version, which is 2019.2.0f1. I succesfully changed textures like this, so i assume the data made by the two versions of unity is formatted identically. Please dismiss my question if this is not the case.

I have not been able to replace meshes like this. What i tried doing is:

  • Export mesh as .obj from the data folder of the game.
  • Edit it.
  • Make a unity 2019.2.0f1 project (or 2019.4.16f, tried both, none worked).
  • Add the new .obj as an asset, place it in a scene.
  • Build the project.
  • Open sharedassets0.assets in data folder of the build of the project.
  • Find the mesh and export it as dump (or raw, tried both, none worked).
  • Open .assets file of the game to modify.
  • Find the mesh.
  • Import the new one.

If the game is now launched, the mesh has a weird fan like shape, not similar to the model i used in any way. If i export it again, there will be no vertices or faces etc. in the mesh. Its completely empty.


The reason i think this is happening, is because of this last field in the dump:

 0 StreamingInfo m_StreamData
  0 unsigned int offset = 0
  0 unsigned int size = 12912
  1 string path = "sharedassets0.assets.resS"

It has the path to sharedassets0.assets.resS, but this file in the data folder of the unity project is not identical to the one with the same name in the data folder of the game. Do note that i have no idea what the field does, so i may very well be wrong. To fix this, i assume i would have to edit the sharedassets0.assets.resS file in the data folder of the game. Is that possible, or am i doing something else wrong?

Link to comment
Share on other sites

6 hours ago, Dood1P said:

Does this support unity 5.6.4p4? It can't extract texture2d files.

I don't remember, but it probably supports it.

I think they are not extracted for some other reason.

(give me the file and i'll just check it out).

Link to comment
Share on other sites

Hi all,


I been following this thread for a while and I think I have found an alternative tool. Nexus has Unity Mod Manager which has the option to load custom textures or other assets. Unfortunately it is too complicated for me. Maybe one of you can get it to work and share it with us?



Link to comment
Share on other sites

Is there a way to modify ".bundle" Files?

The AssetStudio shows me a MonoBehavior FIle (a json File) I can extract the File, translate it. But when I use AssetBundleExtractor it just tells me, the File is compressed, if I unpack it, I still cant modify the File, because it tells me it is not a valid Asset, which is not true, since AssetStudio can view and Export the Json File fine.


Link to comment
Share on other sites

  • DerPopo changed the title to UABE - Asset Bundle Extractor

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...