• 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

Many developers encrypt these files using custom methods, and this file is no raw Unity bundle either.


There will be export support for rigged Collada meshes, and also an option to pack multiple Meshes into a single scene.
I'm trying to change the AssetBundle in the House Flipper game and whenever I change the dlc_preppers_asset and dlc_preppers_deps in the game logs it says "The AssetBundle 'AssetBundles \ dlc_preppers_assets' can not be loaded because it was not built with the right version or build target." screenshots: https://i.imgur.com/JAFFAmK.png https://i.imgur.com/b4jdxzR.png

 
Titlee

I'm trying to change the AssetBundle in the House Flipper game and whenever I change the dlc_preppers_asset and dlc_preppers_deps in the game logs it says "The AssetBundle 'AssetBundles \ dlc_preppers_assets' can not be loaded because it was not built with the right version or build target." screenshots: JAFFAmK.png

 
@DerPopo

I want to replace font named AGENCYB (Path ID is 8670) to another font. I've created a own project in Unity, imported font, builded project and even extracted raw and dump data of my font. After replacing these files to resources.assets I have instant crash upon "Precaching files". What can I do with this problem?

 
About Extraction of Scripts

Ancient version 1.0 screenshotView attachment 6639

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 beta1 :

  • Add batch import support for raw assets, dumps, Texture2D, TextAsset, TerrainData and MovieTexture.
  • Add an option to retrieve MonoBehaviour type information from assemblies to create full dumps.
  • Add UABE JSON dump export/import and Unity JsonUtility compatible export.
  • Update plugins for 2017.1.* and 2017.2.*.
  • Add type databases for 2017.1.0f3 and 2017.2.0f3.
  • Add a new dialog View->Containers.
  • Add a new column "Container" to the asset list to show assets grouped together properly. Base container assets can be searched for.
  • Add progress indicators for opening .assets files and batch export/import.
  • Improve performance massively for very large .assets files (opening files, selecting assets, removing assets, adding assets, plugin options).
  • Support RGB9e5Float HDR, RG16 and R8 texture formats (will still be converted from/to normal SDR RGBA32).
  • Add big endian write support (experimental).
  • Redo AssetsFileReader / AssetsFileWriter interfaces and add experimental support for more than 2045 files.
  • Improve streamed data file lookup.
  • Add mip map support to the Texture2D plugin.
  • Add compressed mesh support (experimental).
  • Add bundle compression support (LZMA only, experimental).
  • Add multithread DXT1/5 compression support.
  • Use type information to add valid assets with zeroed fields instead of empty ones.
  • Allow entering a type name instead of a type id for the Add Asset dialog.
  • Fix a bug writing .assets files that caused a missing field which in some cases caused further trouble.
  • Improve bundle decompression for LZ4 files by creating a streamed decompression interface.
  • Make AssetTypeInstance more strict on invalid assets or outdated type information (prevent out of memory crashes when trying to view or export dumps of some assets).
  • Rework the plugin interface.
  • Fix a bug importing .txt dumps with long lines.
  • Update the Texture2D edit dialog to and fix a couple of options to represent the asset format properly.
  • Change the default asset list window size.
  • Change the default name format for exports to allow UABE to find the files for batch import.
  • Make the plugin option list double-clickable.
  • Support longer engine version strings.
  • Hide removed assets from unsaved bundles.
  • Use comctrl32 6.0 for the progress indicators, which also changes the look of dialog controls.
  • Fix a couple of small memory leaks.
  • Fix a bug allowing UABE to close before saving bundles.

Changes in 2.2 beta2 :

  • Add 2017.3.0f3 support (new class database, updated Texture and Mesh plugins).
  • Fix a memory issue for .txt dumps with many lines larger than 255 bytes.
  • Rework the dependency resolver to support external .assets or streamed data file references from inside a bundle.
  • Fix a crash when trying to compress some texture file formats with mip map support.
  • Fix mip maps of crunched textures.
  • Fix the container name to asset assignment with ResourceManager file tables that have names for multiple File IDs.
  • Fix a crash when an invalid File ID is entered in the Add dialog.


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 :

Sample Plugin (here or here)

2.1d API (here or here)

2.2 API coming soon

Releases :

2.1 (32bit : here or here, 64bit : here or here)

2.1d bugfix, download 2.1 first (32/64bit : here or here)

5.6.0f3 type package (for 2.1d): here or here

2.2 beta1 (32bit : here or here, 64bit : here or here)

2.2 beta2 (32bit : here or here, 64bit : here or here)
When will the plugin for Script extraction come

 
Tell me please, what should I change in the dump so that this sound does not play at all in the game (was there silence)? Can I add something like Mute parameter? Tried changing the first five values ​​to 0, it did not help, the sound is play anyway.

Code:
0 AudioClip Base
1 string m_Name = "Sound_S"
0 int m_LoadType = 2
0 int m_Channels = 2
0 int m_Frequency = 44000
0 int m_BitsPerSample = 16
0 float m_Length = 12.320000
1 bool m_IsTrackerFormat = false
0 int m_SubsoundIndex = 0
0 bool m_PreloadAudioData = true
0 bool m_LoadInBackground = false
1 bool m_Legacy3D = true
0 StreamedResource m_Resource
 1 string m_Source = "sharedassets1.resource"
 0 UInt64 m_Offset = 2855544
 0 UInt64 m_Size = 1065452
1 int m_CompressionFormat = 1
 
I think, though, you'll must to play an empty sound to avoid a errors.

But, i'm not sure.

 
Last edited by a moderator:
If your unity3d file doesn't open, it's not UABE's fault but your file must be encrypted or something.

DerPopo, can you make UABE open directly the files if you open directly by windows. If you tell windows to opens files with UABE and double click it, it opens UABE but don't load the file you clicked it. It would be more convenient.

Thank

 
Not sure if this is still being developed, but it won't read Unity 2018 file structures yet, highest is 2017.3. AssetStudio V.10 does work though, and if anyone can't wait for this to be updated, its a good alternative.

 
UABE 2.2 beta 3 is out with Collada mesh export support, 2018.1 support with all current crunch texture formats, various bug fixes and smaller additions.

 
  • Like
Reactions: Tin
I'm trying to replace a texture in the assets of a game for personal use. The problem is that all the assets are split (so the names are sharedassets0.assets.split0, sharedassets0.assets.split1 etc.) - I can open the first file fine and I think it shows all assets. The problem is that when I replace a texture and try to save, I can only save as a .assets file - How does this work?

 
Anyone know how to get this working with android games? I can extract anything I want, but saving something into the game isn't working. Everything is in .split files!

 
Hi! I am trying to do some modding on the nintendo switch, and I have some problems. I have a unity game with all the files, and I want to change a texture. With the switch, there is an on the fly patcher where you put in the edited file in a folder, and instead of loading in that file from the cartridge, it loads the new edited one. My problem is tha everything is in a bundle file, and in thst is a .asset and a .resS file. When I replace the texture in the asset file , it doesnt change it in the .resS file, so the game crashes on load up. I was womdering if there was a way for this to work, maybe compiling my own unity project with the image and using that .resS file, and make the .asset point to that file instead. Any suggestions would help a ton! If the game is important, it is called Enter the Gungeon

 
@BeardedOranges

I asked a similar question about it

https://7daystodie.com/forums/showthread.php?22675-Unity-Assets-Bundle-Extractor&p=488856&viewfull=1#post488856

The files aren't compressed back after saving. I may look into adding a compress option (but disable it by default because it would need to be decompressed again when editing).

Textures in .resS won't be touched, it will be stored in the Texture2D asset directly. Else, the whole file would need to be recompiled once the texture is bigger than before.
the essence of the solution is to make your .asset (containing your texture) in Unity.

After - edit original asset so that it points (referred) to your file in your custom .asset.

https://7daystodie.com/forums/showthread.php?22675-Unity-Assets-Bundle-Extractor&p=815526&viewfull=1#post815526

 
Last edited by a moderator:
Back
Top