Jump to content

UABE - Asset Bundle Extractor


DerPopo

Recommended Posts

Hello DerPopo, Is there a way to change what texture a mesh is using with this tool? i dont want to replace the texture, i want the model to use another texture that already exists in the package, like for example some meshes share the same image file, i want them both to have their own, how do i do that?

Link to comment
Share on other sites

well what i wanna do is, there is a house in a game i wanna mod that uses a brick texture shared by a few other houses, what i wanna do is change the UV map of the house to be able to use a method called texture baking, witch renders the ambient occlusion onto the texture, but if i do that, the rest of the houses in the game that share the same texture will look wrong, so what i wanna do is make a new texture for that specific house, put it in the asset pack and make the house model use that texture instead of the shared one.

 

Long story short, i got 2 houses sharing one texture image file, what i wanna do is make one of the houses use another image, not shared with the other house.

 

both the models and the textures are located in sharedassets2.assets

Link to comment
Share on other sites

well what i wanna do is, there is a house in a game i wanna mod that uses a brick texture shared by a few other houses, what i wanna do is change the UV map of the house to be able to use a method called texture baking, witch renders the ambient occlusion onto the texture, but if i do that, the rest of the houses in the game that share the same texture will look wrong, so what i wanna do is make a new texture for that specific house, put it in the asset pack and make the house model use that texture instead of the shared one.

 

Long story short, i got 2 houses sharing one texture image file, what i wanna do is make one of the houses use another image, not shared with the other house.

 

both the models and the textures are located in sharedassets2.assets

 

I did that, but...

have to edit/add texture...

...in any case - without the mip-mapping it would look awful :(

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

Hell DerPopo, Recently I extract some .unity3d files using batch, but the .assets files I get are broken. When I open the assets files with AssetBundleExtractor, it will get some garbled like this and nothing can be export:

252416673_264102162921517.jpg.15c219113a1410d972b9a3994bc36844.jpg

 

If I open single unity3d file using AssetBundleExtractor and save the decompress unity3d file(the original file was compressed), the file can be read correctly.

 

This is the link for the file. Can you figure out the problem? Thank you so much

https://drive.google.com/open?id=0BwVbnWAwS4k2Q3l0MUpvSWVraUk

Link to comment
Share on other sites

so how did you change witch texture the model uses? also you can generate mip maps when you save the texture to DDS.

You need start with the fact that use a simple method of substitution of what a texture which already exists in the resources. And use their ID (number of texture) for the Blocks that you will need to create in block.xml, and use them - to make your home (Prefabs). Is for that would leave other Prefabs at with their textures (If i understand correctly - i write through the translator).

Sorry if I not understand correctly - but you need to localize your task. What exactly you now can't do? Do you know about prefabs? Or you just want to replace an existing texture (UV) ?

For UV - there is an individual file in the resource with the same name but at the end added - _a ,_n ,_e.

If continue the discussion then let's go in here or PM.

 

As far as i know - UABE can't export/import in DDS (or other with mip-maps)... Or I something missed?

I look forward to this opportunity for just such a task as yours.

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

I dont think you did, i mentioned this before but im trying to modify another game not related to 7days to die, it just so happens to be an unity game and this is the only forum i found that specializes in modding unity assets. the game im trying to mod is called my summer car, there are no prefabs or XML files, its all just meshes with the extension of .43, i am able to extract them as OBJ, modify them and put them back into the asset file using the raw data import thing, i just need to learn how to change what texture they use. heres a tutorial to give you an idea https://drive.google.com/file/d/0Bw08IMcwkVdeN0plOWw2LVZZMWs/view

Link to comment
Share on other sites

I dont think you did, i mentioned this before but im trying to modify another game not related to 7days to die, it just so happens to be an unity game and this is the only forum i found that specializes in modding unity assets. the game im trying to mod is called my summer car, there are no prefabs or XML files, its all just meshes with the extension of .43, i am able to extract them as OBJ, modify them and put them back into the asset file using the raw data import thing, i just need to learn how to change what texture they use. heres a tutorial to give you an idea https://drive.google.com/file/d/0Bw08IMcwkVdeN0plOWw2LVZZMWs/view

Interesting tutorial!

I thought we are talking about 7dtd. Then of course - I can't tell you about it. I did this simple substitution of unnecessary textures. I just exported it, changed, and imported back, with nuances of which about 7dtd...

But I draw your attention to the fact that - UABE can't use DDS and mip-maping (if I haven't missed anything)

 

I also know about the Unity Assets Explorer,but unfortunately it does not work with resources 7dtd.

 

Replacement texture for the mesh (obj) - i was also interested in, that's what i'm going to do next.

Therefore, i'm joining with this question :)

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

Hi,

 

Thanks again for the mod maker feature in UABE.

I've used UABE 2.1c to create a mod installer for SPAZ 2 (I used the 32bits version for this, since it is said that only this version can create installers that will work on both 32 and 64bits systems).

 

Ok so, when I use this installer, the mod is installed properly and works as intended ingame;

but the installer creates a copy of AssetsTools.dll at its location (desktop for instance). This dll can then only be deleted after opening the task manager and terminating the installer's process, which was left running after the installation.

 

If it matters, I made my modifications with the 64bits version first, got the 64/32bits compatibility warning, then exported an .emip file and imported it back in the 32bits version to create the .exe. Both my UABE versions are updated with the 2.1c hotfix.

Running the installer as admin makes no difference.

I'm using W10 pro 64bits. I currently have no other pc to test this unfortunately.

 

Thanks in advance :)

Link to comment
Share on other sites

I dont think you did, i mentioned this before but im trying to modify another game not related to 7days to die, it just so happens to be an unity game and this is the only forum i found that specializes in modding unity assets. the game im trying to mod is called my summer car, there are no prefabs or XML files, its all just meshes with the extension of .43, i am able to extract them as OBJ, modify them and put them back into the asset file using the raw data import thing, i just need to learn how to change what texture they use. heres a tutorial to give you an idea https://drive.google.com/file/d/0Bw08IMcwkVdeN0plOWw2LVZZMWs/view

 

We've been talking via PM but I'll explain it here for the record.

GameObjects contain one or more components, in this case we're looking for the MeshRenderer of that specific object. If the same mesh and/or texture is used in multiple instances, basically every related asset that is used by multiple objects needs to be cloned (e.g. MeshRenderer, Material, Mesh, Texture2D) and the references to these assets have to be updated, starting with the GameObject's components and going down the dependencies of the cloned assets.

In modderdude's case, the issue is finding the MeshRenderer or any other reference to the Mesh. My guess is that it's simply located in another .assets or levelX file.

 

Hell DerPopo, Recently I extract some .unity3d files using batch, but the .assets files I get are broken. When I open the assets files with AssetBundleExtractor, it will get some garbled like this and nothing can be export:

[ATTACH=CONFIG]19199[/ATTACH]

 

If I open single unity3d file using AssetBundleExtractor and save the decompress unity3d file(the original file was compressed), the file can be read correctly.

 

This is the link for the file. Can you figure out the problem? Thank you so much

https://drive.google.com/open?id=0BwVbnWAwS4k2Q3l0MUpvSWVraUk

 

Possibly some changes for Unity 5.5 broke the batch commands, I'll take a look at it.

 

Hi,

 

Thanks again for the mod maker feature in UABE.

I've used UABE 2.1c to create a mod installer for SPAZ 2 (I used the 32bits version for this, since it is said that only this version can create installers that will work on both 32 and 64bits systems).

 

Ok so, when I use this installer, the mod is installed properly and works as intended ingame;

but the installer creates a copy of AssetsTools.dll at its location (desktop for instance). This dll can then only be deleted after opening the task manager and terminating the installer's process, which was left running after the installation.

 

If it matters, I made my modifications with the 64bits version first, got the 64/32bits compatibility warning, then exported an .emip file and imported it back in the 32bits version to create the .exe. Both my UABE versions are updated with the 2.1c hotfix.

Running the installer as admin makes no difference.

I'm using W10 pro 64bits. I currently have no other pc to test this unfortunately.

 

Thanks in advance :)

 

I have also noticed that the installer doesn't always completely close but so far it has always worked as soon as I tried to see why it hangs. The main thread waits for the installer dialog to free up its resources but for some reason it never exits that wait.

I do agree that it should (at least try to) delete the AssetsTools.dll before closing.

Link to comment
Share on other sites

  • 2 weeks later...

[Feature & Information] For MonoBehavior files

 

Ancient version 1.0 screenshot

[ATTACH=CONFIG]6639[/ATTACH]

 

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

  • Add Unity 5.5 (format 16/17) .assets file support.
  • Add Unity 5.5.0f3 type database.
  • Fix hidden assets added with File->Add when closing the asset list and pressing Info again (for bundles) or when loading an installer package.
  • Add a dependency view dialog (View->Dependencies) that lists all listed .assets files with their absolute File IDs and their direct dependencies with relative File IDs.
  • Improve support for split .assets files, .split0 files can now be opened directly.
  • Add support for BC4,BC5,BC6H and BC7 texture formats (added in U5.5) with different compression settings and decompression.
  • Add file name suggestions for asset export options.
  • Fix writing some format 6 AssetBundles with UnityWeb header and flag 0x100 set.
  • Add a SubstanceArchive plugin that can export .sbsasm files but not the .xml file.
  • Calculate type hashes and fill out type tree when adding new asset types to format 16/17 files.
  • Small TextAsset plugin fixes.
  • Fix a possible crash when resolving a conflict caused by an installer package import in the installer maker.
  • API: Remove two console outputs in MakeTextureData and GetTextureData.
  • Fix exporting dumps of MonoBehaviours with no type tree stored in the .assets file.
  • Fix some potential issues when trying to locate streamed resources.

Change in 2.1b :

  • Fix a bug in writing the type information of Unity 5.5 .assets files.

Change in 2.1c :

  • Fix another bug in reading and writing the type information of Unity 5.5 .assets files.

 

Hello DerPopo, after playing around for a while, i think your UABE is the best among Unity Asset app available on the internet (In my using case).

I'm trying to translating unity games by my custom code. I've found out that the game which i'm trying to trans is not only store sentences in AssetText file, but also (and mainly use) the string stored in the MonoBehavior file (.114).

I have an idea that: my code will detect text section only, everything else will be kept as it is (String are all align 4). It's export analysed struct to a parsed file which will store information about the original file, All the foreign text will be kept in a TreeSet, after done, export them to a file (each text section separated by some "\n"). Then Google trans them or manual trans in a corresponding file. then generate translated MonoBehaviour file in a new file based on all of them.

Finally import New MonoBehavior file back to asset

But it's have a problem:Sometimes, i cannot import the new file if the file size has been changed!!!! (Before coding, i need a test for it's "possibility"!) :(

So that a bug of your app or... it's impossible to do? (because MonoBehaviour must be read by a private reader, but i think it's must store everything in a serialized structure, so that my small code should be run correctly?!??)

I known the file_size and File_Start_point are all stored in a tree structure, it's all mod-able.

Please explain more about this file type!

i've found out that: it's must be raw imported by an origin file first, then import raw the modedSize file it will...not display error cannot parse file etc.. ???

Link to comment
Share on other sites

What format is this .assets file?

 

What file format is used by this file? Your tool is the only one I can find that works with but I don't see a way to export all textures as images.

 

The file signature stats with

 

000AA592 0248999C 00000011 000AA5B0 00000000 352E352E 30703100

Link to comment
Share on other sites

What file format is used by this file? Your tool is the only one I can find that works with but I don't see a way to export all textures as images.

 

The file signature stats with

 

000AA592 0248999C 00000011 000AA5B0 00000000 352E352E 30703100

 

It's the assets file format by the Unity game engine (version 5.5.0p1). To export multiple textures, you can use click+shift-click to select multiple entries, then press Plugins and select export to .tga (or .png, which is slower due to compression).

 

Hello DerPopo, after playing around for a while, i think your UABE is the best among Unity Asset app available on the internet (In my using case).

I'm trying to translating unity games by my custom code. I've found out that the game which i'm trying to trans is not only store sentences in AssetText file, but also (and mainly use) the string stored in the MonoBehavior file (.114).

I have an idea that: my code will detect text section only, everything else will be kept as it is (String are all align 4). It's export analysed struct to a parsed file which will store information about the original file, All the foreign text will be kept in a TreeSet, after done, export them to a file (each text section separated by some "\n"). Then Google trans them or manual trans in a corresponding file. then generate translated MonoBehaviour file in a new file based on all of them.

Finally import New MonoBehavior file back to asset

But it's have a problem:Sometimes, i cannot import the new file if the file size has been changed!!!! (Before coding, i need a test for it's "possibility"!) :(

So that a bug of your app or... it's impossible to do? (because MonoBehaviour must be read by a private reader, but i think it's must store everything in a serialized structure, so that my small code should be run correctly?!??)

I known the file_size and File_Start_point are all stored in a tree structure, it's all mod-able.

Please explain more about this file type!

i've found out that: it's must be raw imported by an origin file first, then import raw the modedSize file it will...not display error cannot parse file etc.. ???

 

Does it actually fail while importing the file, or is the file slightly broken so UABE can still open it but it doesn't work in game, or is the file completely broken so neither UABE can open it anymore?

I don't know of any such issues regarding the import itself. If the second case applies, make sure you properly updated the 4 byte long length field right before the modified string (without counting the additional alignment 00 bytes). If the file is completely broken, could you send me a "clean" unmodded .assets/bundle file and the asset you want to import?

 

 

 

I have version 1.0 and would like to modify and you are not achieving, I have a file of a 3D model a little strange, and I would like to try to unpack I am going to share with you.

 

It's a compressed mesh which isn't supported at the moment.

Link to comment
Share on other sites

materials assets

 

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?

590137117_QQ222702925520170310140855.png.c0fb047aeb0c82289fe9b8c9dff0482d.png

Link to comment
Share on other sites

Resolved Problem

 

(...)

 

Does it actually fail while importing the file, or is the file slightly broken so UABE can still open it but it doesn't work in game, or is the file completely broken so neither UABE can open it anymore?

I don't know of any such issues regarding the import itself. If the second case applies, make sure you properly updated the 4 byte long length field right before the modified string (without counting the additional alignment 00 bytes). If the file is completely broken, could you send me a "clean" unmodded .assets/bundle file and the asset you want to import?

(...)

 

I'm sorry! i think i cannot send you the asset file because it's quite big! (about 1GB)

But now i've realized the problem: it's not because of your UABE, it's because of the text/hex editor which will collapse my file if i'm replacing the Foreign text in UTF-8 mode, they should be edited in ASCII mode, then It won't corrupted! (MonoBehavior file don't store the file_size its self)

thanks for your software! it's very useful and powerful on creating mod file instead of "mod all Asset then replace all" :)) very comfortable and lightweight MOD creation!

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