Jump to content

DerPopo

Members
  • Posts

    172
  • Joined

  • Last visited

  • Days Won

    7

Posts posted by DerPopo

  1. On 4/26/2022 at 12:58 PM, n2n1 said:

    Small bug report:

    I tried to change Textures2d in the asset - some replacements were successful, but one gives an error:

      Reveal hidden contents

     

    jn3gFax.png

     

     

    I load texture file in format - png.

    I restarted everything and tried another file, but the error repeats steadily in this place. 

    (Win7 x64)

    assets from Unity 2020.3.14 (7dtd)

    BC6H and BC7 import support was broken. Fixed the code on github. Here's a compiled variant:

    https://mega.nz/file/KFgSCZxD#3KqQXH23XaHDdQ70tmkujy7W9vdsQCAnHYEfuP6jPeo

    (SHA256: 557C82D3099B781F379A991537DF5A5AF8D3D0C23345B8528A56CD166ABEA232)

  2. I guess it's time for an update, as UABE stands right beneath humanity in terms of "things that still exist". UABE 3.0 is out, see the main post.

     

    Note that Texture2DArray is not yet supported for Texture exports / imports, if you want to modify blocktextureatlases.

     

  3. On 10/14/2020 at 6:15 PM, XOdag said:

    Bug report: The latest version seems to not create .emip project files properly. When there are multiple asset files or bundled assets with different names edited at once it just duplicates first asset edits that many times on export instead.

     

    Question: Where is the Type of asset comes from in object binary format? Like 0xFFFFFFFF for MonoBehaviour for example. I can't find the corresponding bytes in the hex dump. It should not be game specific. Plz halp 😵.

     

     

    Since I'm reimplementing most of the UI, that bug surely will be fixed once it's ready.

     

    For recent Unity versions, the Type ID for MonoBehaviours is generated by UABE as  (-1 - scriptIndex)  with the two byte script index located in the type tree of the .assets file. This means that 0xFFFFFFFF stands for scriptIndex 0, 0xFFFFFFFE stands for scriptIndex 1 and so on.

     

     

    As for when the update is ready, I can't really tell since there still is lots of work to do even with lots of core functionality ready, and there is only so much time I can spend on it. UABE is quite a complex project (growing more and more complex) but the UI code base was not really designed well. After all, UABE initially only was meant to extract and import from a single Asset Bundle file and only later grew to a serialized file (aka  .assets) editor on top of that, causing neither the code nor the UI itself to be particularly great. So, I have decided to throw out core parts of it and start from scratch around last year.

    Working with several bundle files and serialized .assets files at once, background tasks that don't block work (and the thread-safety and resource management required to do that), non-modal dialogs (i.e. not having to open and close popups windows all the time), and editing assets in UI without having to export/import dumps are some of the things I've been working on.

     

  4. On 5/2/2020 at 9:18 PM, Carpetdiem said:

    Any news regarding this upgraded UI, DerPopo? :) Your piece of software is really useful! Do you plan on adding new functions too?

    I am reworking most of the UI and internal logic except for the AssetsTools library. The code became too much of a mess with program logic entangled with UI and file version dependant stuff, memory management from hell and so on. Most of it was a symptom of UABE growing from a bundle export/import tool created within two days to a fully fledged bundle and .assets editor. The AssetsTools library is quite okay though. So far, most of the new foundation is complete.

    Key feature will be opening files on the fly, including any amount of bundle files. File loading and other tasks run in the background and some modal dialogs will be replaced with modeless ones so the program stays responsive. Some parts of the UI will look the same even though most of the code is being written from scratch.

     

    Bundle files with compressed directories but uncompressed data will no longer require decompression (which applies to most bundle files in PC games). I also plan on doing a proper resource / resS file management for texture and maybe audio import.

    I have some plans for proper console command support but I'll focus on the UI first. At least it won't require code doubling anymore.

    Windows XP support will also be dropped since it becomes too big of a burden. I don't think anyone will mind at this point but who knows ^^

     

    On 5/6/2020 at 1:58 PM, Werk said:

    Hi,I want report one problem,I been used that 2.2stable D,to modify A game,Unity ver is 2018.4.19,when I Import RAW ,Import MESH dat,but something wrong 。。

    QQ截图20200506212706.bmp 2.6 MB · 3 downloads

    Is the mesh file from the same Unity version as the target file (.assets or bundle)? There probably is some sort of incompatibility with the files.

    On 5/3/2020 at 10:45 PM, TemporaryChan said:

    Is there a way this tool could be updated to Unity 2019 3.7 or 3.3? I'm kinda desperate right now since I was trying to edit textures, but it doesn't work anymore, and I don't know any other way to do it. I tried one method, but all it does is crash my game. It said I need support for Unity 2019 3.7, so that's all I need. I don't know how else to put it so I can get some sort of response. Please respond. I don't know how else I'm gonna have to import textures into assets. This was the only tool I could possibly use.

    I have replied to your GitHub issue, but I have also uploaded the classdata file for 2019.3.9 here. classdata with 2019.3.9.zip

  5. Is there a .manifest file alongside the bundle? You may need to change the CRC there. At least in 7dtd's manifest files, the CRC is stored as a decimal string. Just use the Windows calculator in programming mode to convert the 78b6107e from hex to decimal.

  6. The streaming info is more of an alternative to the image data field, that by itself is no issue.

     

    If you raw export the modified asset, how big is the file? It should be at around 2MiB. Otherwise, play around with the texture format (try DXT1, RGB24, etc.)

  7. Hi crazy modders :)

     

    I'm trying to replace textures in assets (class databases : 2018.4.17f1) but that won't works in game. UABE is using class databases for 2018.4.5f1 and 2019.1.0f3.

     

    My version is not supported by UABE, right? Is a higher version not supposed to work?

     

    There is no other way to do it ?

     

    Have some good modding :)

     

    If you can export the texture with UABE, importing should cause no harm. Does it only corrupt that specific texture or does the game crash on startup?

     

    The class databases usually work fine for most purposes between different minor Unity releases but not always. Since recent Unity releases (5 onward) include type hashes in the files, I could at least make UABE detect such incompatibilities.

  8. I'm currently reworking the UI and doing some other internal changes. I can't give an estimate on when it'll be ready, though.

     

     

    Hi.. Some files get corrupted when i import

    Raw or dump files any help?

     

    Could you give more details? There could be many reasons, such as incompatible types, bugs or invalid input files.

  9. Thanks for this DerPopo, it's an awesomly useful tool.

     

    A couple of questions:

     

    Can someone post a link to Grim's UAE, please? I've tried searching the forum but the search gets rejected because 'UAE' is too common a term.

     

    Apologies in advance if I simply have not been sufficiently dilligent in my reading, but is it possible to extract an asset with UBAE, modify it and reinsert back in the original asset file, or will that not work?

     

    UAE is outdated (only supports up to Unity 5 beta iirc), but here's the link in case you want it.

     

    Yes, you can edit assets through export and import. It will work as long as you don't 'violate' the asset format (always set the array size to the actual amount of elements, etc.).

  10. Aand another update, this time with Unity 2019.2.* support.

     

     

     

    Hi DerPopo!

     

    Thanks for your work on UABE. I've found it very useful.

     

    Is is possible to keep GameObjects intact instead of exporting just the files it contains?

    Maybe like exporting them to a .unity3d package instead of raw files.

     

    Or is the only option to piece the files back together in unity?

     

    Thanks!

     

    I plan to add some kind of object tree export/import in the future. For now, you'll have to select the assets (GameObject/Component/...) manually and use raw export/import.

  11. 2.2stablec is out with 2018.4 and 2019.1 support, along with an updated API.

     

     

     

    Hallo, is there any way to make a mod that modifies multiple bundles at once? Or failing that, at least a way to run the .exe mods without clicking through the UI? I have a mod that affects 23 unity3d files, so I ended up with 23 different mod files, and I get kind of tired re-applying them all each time the game is patched. :p

     

    Thanks friends. ^_^

     

    You can create mod installer packages for the different bundles and finally create a standalone installer for all bundles using Import Package.

  12. 2.2 stable is out with a new MonoBehaviour 'Add' option, 2018.3 support, various fixes (including writing 7dtd's BlockTextureAtlases) and smaller improvements. Exporting Mesh assets should work again, too.

    Merry Christmas!

     

    ____

     

    @Mayic

    What exactly do you want to export? Texture2D, Mesh and TextAsset assets are exportable through plugins (select the assets and press the Plugins button, only one asset type at a time) to file formats which Unity should understand.

  13. Guys, small question here regarding the plugin that exports texture assets into .sbsasm files - these are meant to be able to be opened using Substance Designer, right? If so, how? Can't find any info regarding .sbsasm files, so I assume they are dependencies of a .sbsar file.

     

    Im not very familiar with that program, so I was wondering if there would be a way to convert them to a more user friendly format like .png or something.

     

    Cheers, Mighty.

     

     

    PS: By the way, glad to see this neat tool evolving since I last came here in 2016. Outstanding job DerPopo!

     

    The .sbsar file contains all the metadata of the texture. The plugin only is for .sbsasm files, which are usually packaged along with (or inside?) sbsar files.

     

    Substance textures are rather complex. From what I've read, Substance textures are used to generate textures on the fly with parameters and can also be used for animations. The only thing viable for png export seem to be the internal source textures.

     

    Unity converts sbsar files into internal formats (ProceduralMaterial, ProceduralTexture) and the tools for Substance files are rather expensive, so I haven't done further work besides exporting sbsasm files.

  14. Please fix the window focus losing when opening file :(

     

    Will take a look at it.

     

    How can I add new archive in a set?

     

    That's not supported currently. I'll add it sooner or later, though.

     

    Hi, it's me again.When I extracted a game that contained Live2d.I find that an asset cannot be exported completely. (TextAsset)youda.skel,I found relevant information on the internet.It's generated by a software called “Spine”.Can I export it in another way?https://mega.nz/#!ufpWTY4Z!7qki5UvQhA8ryu4sEKlE0I_VYmWIIkBgzLxLYnQQlx0This is a link.Thanks again and apologize for my English.

     

    Have you tried the TextAsset plugin (-> button "Plugins")? Since it is a binary file containing null bytes stored inside a string, the dump exporter stops at the null byte; whereas the TextAsset plugin treats it like a binary file and should output the whole file.

  15. @ libaibaba the files do seem to be encrypted, the decryption is likely done in one of the game modules.

     

    I'm trying to add a new MonoBehaviour with a nested class to an assetbundle. Sadly uabe always revert the file type (in my case 0xFFFFFFF8) back to the the default MonoBehaviour (0x00000072) and cutting have of the data with it.

    Exporting and importing from and to existing MonoBehaviours with nested classes of that sort works fine. So uabe must know those types.

     

    Can anybody tell me how to create new MonoBehaviours with nested classes?

     

    Just in case others are interested, I've just answered on github : https://github.com/DerPopo/UABE/issues/238

  16. Hello, will there be a Mac version of this? I posted this question back in April, and I got no response. Please respond to me this time, it would be very appreciated. :smile-new:

     

    I don't think I'll ever make a native Mac version. But since Wine also has a Mac version, you may still be able to run it.

  17. So after some experimenting I was able to get the batch process working to extract most of the bundles. I've gotten my series of .asset files and they are loading in the extractor and giving me the listing of all of the contained files.

     

    However when I try to use the plugin to export sound, I get an error saying...

     

    ERROR!

    Unable to open the streamed data file!

     

    this error occurs on every single audio file. the image files can be exported without issue though.

     

    Am I doing something wrong?

     

    Have you used the -keepnames option for batch export? The name of the exported .resS/.resource files should be exactly the same as in the bundle. Please report back in case it still fails, so I can take a look at it. I'll update the Usage.txt file so it mentions this option.

     

    not work with Unity 2018.2.11f.

     

    unable to find any script assemblers!

     

    It's a known bug, the hotfix I posted in this issue should solve it.

  18. The file formats are varying. 000e26... is a text file containing a material definition, 00e769... is a 7z file containing some kind of mesh and the others may be encrypted and/or compressed.

    The game seems to be locating its files through 16 bytes hashes (e.g. name hash). Could be MD4 hashes but could also be anything else with >= 16 bytes cut to 16 bytes.

     

    I'm not sure if these files are from a Unity game since there are custom file formats for things that could as well be packed into a Unity bundle file with engine file formats.

  19. guys, hi all, first, thank you @derpopo , amazing tool.

     

    I have a doubt, I'm modding an app and it has many assets, each asset has only 1 image texture (1 country flag), that app is updated periodically (1 month) and when this occurs it is compiled with different unity version by its creator but asset files have same name.My doubt is if I have modding all asset again (all flag) due unity version compatibility every time that app is updated.

     

    As n2n1 mentioned, the files may be compatible in some cases (especially with bundle files).

    If the files are not compatible, it should at least be possible to simplify this process a lot :

    - If the files are bundles (which is the case if can press Info on the main window), you can use the command line batch export option (see Usage.txt) to export the .assets files to a specific directory. Otherwise, copy the existing .assets to a new directory.

    - Open the exported .assets files all at once (select all in the Open dialog), click the Type column and select all Texture2D assets. Then, use the texture batch import option (Plugins) to import all textures at once. You'll have to batch export the images from a modded set of game files first so it can find the images properly.

    - Save the modified .assets files to a new directory (for bundles) or to the directory they were in before.

    - (Bundles only) use the command line batch import option to get the new bundles.

     

    Of course, this requires the Texture2D Path IDs to be stable across updates, which I they should be if the files only contain one asset, each.

    This also requires the file names to be stable (in case of bundles, CAB-<hash> names must not change).

  20. @DerPopo

    Hmmm....really....and for what reason there is no opportunity to replace sound files, like textures?

     

    I haven't taken a look at how Unity composes the sound banks yet, but it's definitely something I want to add support for.

     

    Is it possible to extract AudioClip without converting it to .wav? I want original .ogg Vorbis file without decompression. Thank you for help.

     

    The sound data is stored with the proprietary FMOD sound bank format and the FMOD API does not provide a way to extract the data without decompressing it.

     

    There are some projects like fsbext that are able to unpack those files, though fsbext specifically notes that extracted .ogg files are not directly playable (maybe another tool out there can spit out proper ogg files).

    If you take a look at the AudioClip asset through View Data, you can see the file name (usually a .resource file), absolute file position and size of the soundbank. HxD or other hex editors can help copying out the sound bank you want (go to that file position with Search->Goto in dec mode, mark <size> bytes with Edit->Select block and copy it to a new file).

     

    You can replace sound files but it requires using unity to convert to FSB5 and do some hex editing, I don't know the convertion can be implemented easily by DerPopo.

     

    Anyway on the lastest version when you click on "info" the window constantly goes into background, possible to fix it ?

     

    For some reason, it's caused by the progress window (which is invisible at first), though it should be easy to work around. I didn't think it'd be a problem since it does not occur when launching through the explorer in my case, but I'll make sure it will be fixed with the next release.

  21. Not the one he provided. Not working for me.

     

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

     

    can you update the tool so it extracts assets as obj groups instead of obj objects ?

    that will allow reanimating guns and tools .

     

    There will be export support for rigged Collada meshes, and also an option to pack multiple Meshes into a single scene.

×
×
  • Create New...