Git Product home page Git Product logo

uabe's Introduction

Asset Bundle Extractor

.assets and AssetBundle editor.
Not affiliated with Unity Technologies.

UABE is an editor for 3.4+/4/5/2017-2021.3 .assets and AssetBundle files. It can create standalone mod installers from changes to .assets and/or bundles.

There are multiple plugins to convert assets from/to common file formats :

  • The Texture plugin can export and import .png and .tga files (Texture2D only) and decode&encode most texture formats used by Unity.
  • The TextAsset plugin can export and import .txt files.
  • The AudioClip plugin can export uncompressed .wav files from Unity 5+ AudioClip assets using FMOD, .m4a files from WebGL builds and Unity 4 sound files.
  • The Mesh plugin can export .obj and .dae (Collada) files, also supporting rigged SkinnedMeshRenderers.
  • The Utility plugin can export and import byte arrays and resources (StreamingInfo, StreamedResource) within the View Data editor.

Building

UABE can be built within Visual Studio (Community) 2022 using the Open Folder option (CMake).

The non-proprietary dependencies are downloaded and patched during CMake configuration.
The proprietary dependencies are optional and can be disabled:

  • FMOD: Remove the AudioClip plugin by removing the corresponding line in Plugins/CMakeLists.txt.
  • PVRTexTool: Remove TexToolWrap by removing the corresponding line in CMakeLists.txt. This removes support for some texture formats used (mostly) for mobile games.

To embed the proprietary SDKs, set the PVRTexTool_ROOT and FMOD_ROOT CMake variables accordingly.
The CMakeSettings.Example.json shows how a CMakeSettings.json for Visual Studio could look like.
If the build process cannot find the SDKs, check if the cmake files in CMakeModules look in the correct subfolders. Also note that UABE is still using an old version of FMOD (with plans to substitute it entirely), so it may not work with recent versions.

Portability Notes

  • UABE uses plain Win32 for the GUI. The GUI portions are isolated to the UABE_Win32 module, some plugins and the mCtrl dependency. winelib could be an option for a Linux GUI port, however.
  • Compilers other than MSVC++ are not tested with UABE and likely require some code changes.
  • Uses C++20-feature std::format, which is not supported by gcc yet (as of writing this). fmtlib may be a quick drop-in replacement.

License

UABE is licensed under the Eclipse Public License, v. 2.0 (EPL 2.0) license (see Licenses/license.txt).
See Readme.License.txt for more details, including a listing of dependencies and copyright notices.

uabe's People

Contributors

derpopo avatar nunzioardi avatar seriouscache avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

uabe's Issues

[request] Compressed mesh and texture support

Hi, i tried to sign up at the 7daystodie forum but you must have an account in that game and not just the forum in order to post or communicate there, so here i am. :)

I use this tool more than most other unity tools and this one has the potential to be the best around.
I just wanted to request support for compressed mesh and textures.
I am seeing a lot of these in different games and adding support for them would be a step closer to perfection! Thanks :)

.utage single resource files

Hello, I recent met a VN game which major images are separated in originalname.ext.utage format eg: bg.png.utage. It's high appreciated if you have time look at this case.

Bulk texture export

I saw somewhere that you can bulk export textures by selecting the textures you want then export to .png. The issue I'm having is that all the files a want to export have the same name (e.g. all of them are named face_ab.png) so when I export them I end up getting one png instead of the amount I selected originally as they are obviously overwriting eachother.
Is there anyway around this? In the export plugin is there a way to check if the .png has the same name and if it does add a number to the file name as Windows does when there is a duplicate file?

MonoBehaviour type and a couple of issues

Thanks a lot for the new version!

Do you have any idea how to open MonoBehaviour type of files?
Look at this for example: http://www.filedropper.com/aa_3 . It's easy to understand what's going on inside the file, but sometimes it's hard to read (when values are present).

Additionally, I have to report that using the plugin to export Texture2D makes the app crash, at least for most of the files.

P.S. Any chance for animations to be opened in the future?

Issue with Texture2D plugin

I can currently export DXT5 texture formats to .png fine but when I try to export a ETC_RGB4 texture format the the asset extractor just freezes.
image
image

Not working 100% on some Unity 5 files

Hi there.

This prog is great, but it doesn't work 100% on Unity 5 files, for example on files from Hearthstone.

Here is the files that I'm referring to, for your reference: https://www.dropbox.com/s/wsd3u4pb3xl4roc/spellsjaJP0.unity3d?dl=0 and https://www.dropbox.com/s/rdivj7rd6pzi7wq/soundsjaJP0.unity3d?dl=0 .

I don't know ALOT about this stuff, but I'm guessing that the files haven't been mapped yet, and that's why most (about 70%) of the files that are shown by the UABE shows as "unknown asset".

I know that the 2 files contain .ogg audio files, and your UABE tool can only extract about 30% of them currently.

It would be awesome if the tool could be updated to allow for 100% extraction of these 2 files.

Your work is appreciated!

LZ4 compressed bundles

Unity 5.3 (to be released on 8 December) will be able to generate LZ4 compressed bundle files, currently only LZMA bundles are supported by UABE.

support 5.3.2f1

As title says, newest version is not supported yet.

Please add support for it :)

No file opened

I dont know what I'm doing wrong but even tho I already opened a .assets file it still says no file opened. :/

Streamed assets

Hi, I'm trying to modify .assets files for Darkwood with your tool (v.1.8.1). It said by developers that game is currently uses Unity v.5.3.1p3 and when I try to export 2D textures with png or tga plugin, program crashes. But sometimes textures exported correctly or exported as random chaotic range of pixels. Most of times it's just crashes.
Can you help me with this issue? I can give you files or information you request.

Unable to export sound with AudioClip plugin on Win10

First I'll thanks author for this useful tool.
I just upgrade my system from Win8.1 to Win10, and the export sound from AudioClip plugin behavior cannot work(version 1.8.1, both x86 and x64), it prompts:"Unable to create a sound object".
Version 1.8.1 works fine on Win8.1 system.
And version 1.9 cannot work either on Win8.1 or Win10, click the plugin "export sound" without any response.
The unity3d file is a BGM of UnityFS 5.3.5f1 format.

Export/Import TextAsset

Hi DerPopo,

I would like to thank you for this freat tool you provided us.

I'm trying to use UABE to translate game contents. 
To do that I open the resource.asset file and look for the textasset type files (as someone said before me a search option or some kind of filtering would be great). 

Once I find them I use the Text Plugin to export them creating a .txt file, I edit the file translating only the strings that need to be translated and save it.

Then when I go back to UBAE to import my file back into the asset bundle it seems it doesn't make any changes. It doesn't replace the file with the one i edited.

Am I doing it the wrong way? Do you have any suggestions?

Thank you in advance for your consideration.

Excess samples created in extracted sounds.

I've been extracting the sounds from the recent title "The Lab" and noticed something after extracting samples, looped wave files have a very audible pauses at the end of each file, these pauses range from 3000 - 4095 samples from what I've seen and the length seems to be random. The most plausible solution would be to trim the files, from the end until a value not equal to 0 is met.
If a patch could be made that would be great.

I'll provide 6 raw wave files in the zip as examples.

inerior_03.wav contains 3713 extra samples.
inerior_04.wav contains 3947 extra samples.
inerior_05.wav contains 3524 extra samples.
conveyorBelt_01.wav contains 4095 extra samples.
computers_01.wav contains 4095 extra samples too for some reason.
chopper_engine_lp_02.wav contains 3333 extra samples.

samples.zip

Asset search

Add a search for assets by name or type and a goto file/path id.
Additionally add some sorting (maybe even a tree view sorted by the asset types?)

Batch export AudioClip

Hello,

Is there any way I can batch export the AudioClip in a bundle file? I can extract a single file, but it's inconvenient since the file name isn't taken over to the save screen. Moreover, there are hundreds of files to be exported, so it is a pain to do it one by one. This could be helpful with other type of data as well.

This tool is the only one working right now.

Thanks,

Vertically mirror textures

Unity's texture start at the bottom left (and therefore are vertically mirrored) according to their Texture2D.GetPixel documentation. Therefore, it's necessary to normalize it.
(Already did that for .tga, still need to do that for .png)

Slow asset TreeView

The time inserting one field of an asset into the TreeView takes increases linearly with the amount of items already added (which means that the required time increases quadratically).
This is caused by how Win32's tree view stores the data.

Inserting the items in reverse order solves the problem. I already implemented that for the next release.

[Request] Search improvements

Below a few suggestions to improve the search feature:

  • Have 'Continue search' under a key-bind (usually F3).
    Currently repeating a search requires to open the menu to re-select 'Continue search'.
  • Start a search from the current position, instead of having search start from the top by default.
    This would be very helpful when there are a lot of matches.
  • Ability to change search direction (up/down).

1.9, 32bit - Program hangs on exporting texture

Hello.

I want to start by thanking you for making this program, it was a real help in ripping models to rig. I have an issue though: upon selecting a texture, hitting the "Plugins" button, and selecting either "Export to .png" or "Export to .tga," the program hangs entirely. The "Edit" plugin functions flawlessly, but the texture output buttons do not.

Here is the information about my project:

  • The Unity ".asset" files were extracted from an iOS app
  • The Unity version the game runs is "U4.5.4f1"
  • Models have extracted flawlessly with version 1.8b of your software, but the plugin dialogue hangs the same as texture exportation in 1.9 (versions 1-1.8.1 function properly for me, but I cannot export the textures since they were never supported until now. I know they are supported because the ".png" export dialogue came up once in 1.9, but never again following; just crashing upon hitting "OK.")
  • I'm running Windows 8.1, 32bit

Any help would be appreciated. Thank you!

-Parker

Extracting classdata from player.

Some time ago you wanted to share the tool for extracting classdata from unity player. Do you still have plans to do this? Sometimes 4.5 classdata not enough to work with older unity assets.

Replacing an asset using the API

Hey,
I'm currently trying to "patch" a resource inside a single asset file by simply replacing it. If I use UABE it works like a charm but I plan to write a small tool to do this "silent" without the need for user input.

So far I checked all the header-files (especially the AssetsReplacer since that one sounds promising :p) but I'm not really versed in C++ and I don't get how to use it.

Is there any chance you could provide me short description on what to do and what the parameters mean or (some example code)?

Thanks in advance and thanks for this great tool :)

Unable to open streamed data file.

Trying to extract a texture from resources.assets using the plugin but keep getting the same error (Unable to open streamed data file), followed by an unable to convert texture data.

Open-sourcing the code

I've been trying to extract some assets from a game with mixed results with your tool. However, your tools has been able to do much more than any other tools I've seen (most will crash/error out). I would like to contribute to it and fix my issues with it if possible.

In my case, extracting some texture2d give bad results. I've tried "edit" and changing the format to no avail.

AssetBundle file format docs?

@kbranigan and I have been attempting to programmatically create AssetBundles to be accessed by Unity dynamically. We've been trying desperately to find any file format reference documentation, including attempting to analyze disunity to see what we're doing wrong.

You obviously have this figured out. Is there any chance we could hire you for a Skype chat or something so we can hopefully figure out what we're doing wrong in our attempts to generate an AssetBundle from scratch?

[Request]Open multiple files at once

I currently have to sort through hundreds of asset files to check whats inside them. Is there a way you could add an option to open multiple files at once?

All the files are similar to the file I sent you a few weeks ago.

Problem with UV mapping (sort of fixed thanks to 1.8c)

so i tried to rip character from Block n load and i have a problem where the UV mapping exports wrong and it doesn't export the uv map as it should. i tried to rip something else from different game and it did the same thing as it did with the character. i think this is happening to those models that have bones. this is how Distance's car UV map look like after exporting to OBJ http://i.imgur.com/foy3RKe.png i hope you fix this since i would really like to get characters from block n load and the distance car.

also im really thankful you created this tool. it's really really great and i love it! :D
oh and i forget to mention. sorry for my English. i'm from Czech Republic

[Request] feature

please add export all file to png feature,
please add open multiple files, so we can convert all images to png with your plugin
thank you very much.

.assetbundle format

I've been using this tool successfully over different projects until I stumbled upon a new .assetbundle format which, when attempting to open it, renders the application unresponsive.
Is it a valid use case? If so, are there any plans to add support for it?

Some issues and suggestions

  • Texture plugin re-encodes picture, when you only want to change texture settings. Wrap mode for example.
  • For some reason i cant open any *.unity3d file. Here is one for example. Can't open it both in XP and win7.
    http://www29.zippyshare.com/v/x3f5BuCg/file.html
  • Batch export/import would be nice. I don't know best way for this.
  • Some data in mainData file shown wrong. For example Player Settings. When i manually changed runinbackground option in hex-editor, UABE showed it wrong. Personaly, i think there is no universal way to detect these settings for mainData files of different versions.

Unity 5.3 bundle decompress

It's already fixed internally (for 1.8.1b) and only put here for reference :
Loading and decompressing bundles doesn't touch the blocks' compression type, only the one for the block/directory info.
Decompressed bundles therefore aren't readable by Unity and it can't decompress blocks with another compression than the initial info block (Unity sometimes mixes LZ4 and LZMA).
Also, it wouldn't read any 5.3 LZMA data correctly because the LZMA header doesn't contain the decompressed size.

Unity 5.4

would you be able to update this to work with Unity 5.4 assets? although its still in beta iv already found something that uses it: Valve's collection of VR demos "The Lab", its free on Steam. if you don't have Steam i can send you over some files to help

Sprite support

Thanks for a great product! Is there a plugin for exporting assets of type Sprite?

How do I write my own plugins?

Cheers

UABE not working correctly on unity games other than 7dtd

Hi there. I am trying to mod a game made with unity 5 and I tested any tool I could find on the internet for days.
Your tool is the one who works best, because it can open both level/maindata files and .assets, but it doesn't work correctly meaning that I can only export one file per time. Is there a fix for that?

I also found some game files which contain item stats (defenses, damages and so on), but I can only export them to .dat (RAW) and I can't read the numbers.. do you know how to?

And last thing, is out there a plugin to convert movietextures?

Thanks! Great job on UABE.

Regex filters

Regex filter for name and a filter for type would help very much when you are looking for something specific.

[Request] Scripts, Shader extract feature

I want scrips and shader extract feature.
Asset Bundle Extracter is the best tool kit, but I'm really sad that I can only extract sounds and models, textures...:(

export texture in RGB565 | wrong color

Hello, first of all your tool is my lifesaver.
I can export almost all of the textures from my assets, however some Texture2D objects get exported with wrong color because they are in RGB565 format for some reason. If I try to edit and change to RGBA32 the software just crashes.
Can anything be done to export it as png or tga, I need it so badly.

resources.assets.resS and resources.resource

Recently I met a game which seemed resources are not in one resources.assets file, there were two other files correspond it: resources.assets.resS(bigger file size) and resources.resource (bigger file size)
any updates? I'll post game link if need.

Extract Monoscript

Tried to extract serialized object from resources.
It has been detected as Monoscript Base. In attached screenshot you can see it.
In dump I see only names and property hash.
How can I get this serialized object?
Thanks.
monoscript

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.