UABEA icon indicating copy to clipboard operation
UABEA copied to clipboard

Feature Request: Batch Texture Format Conversion‌

Open Parsee1 opened this issue 4 months ago • 8 comments

Requesting a feature to batch modify texture formats in AssetBundles. This is needed for cross-platform asset migration (specifically Android→Windows) where texture formats require bulk conversion (e.g. ETC_RGB4→DXT1). Use case context: Many AssetBundles contain USM format short video animations where each frame is a separate texture. Current manual editing via Texture Plugin is impractical for large-scale conversions.

Key requirements: ‌Batch Processing‌: Ability to select multiple textures and modify their formats simultaneously ‌Format Selection‌: Dropdown menu with standard texture formats (ETC_RGB4, DXT1, etc.) ‌Property Preservation‌: All unedited attributes should remain unchanged ‌UI Implementation‌: New "Batch Edit Textures" dialog or panel in the Texture Plugin interface

Image

Parsee1 avatar Sep 11 '25 00:09 Parsee1

Yes, this is a good idea. I am thinking of separating the texture plugin into two modes: one where this dialog box comes up and one where it doesn't. If the settings are different between textures, they'll just be blank, but changing it will change it for all.

There is still a way to do this right now if you don't want to wait around. Export dump all of the textures individually, then find and replace the m_TextureFormat field with the new number you want to use (you can change a single texture manually to find out what ID it should use, or look here for the list.) Then immediately batch import the textures you want and it will use the texture format that you put in that field.

nesrak1 avatar Sep 11 '25 03:09 nesrak1

There is still a way to do this right now if you don't want to wait around. Export dump all of the textures individually, then find and replace the m_TextureFormat field with the new number you want to use (you can change a single texture manually to find out what ID it should use, or look here for the list.) Then immediately batch import the textures you want and it will use the texture format that you put in that field.

Just tried your way. It works.

Parsee1 avatar Sep 12 '25 11:09 Parsee1

Image

Doing something like this in UABEANext. Any fields that are not the same between assets are (Multiple values) until you change the value. You can revert back to the original value by clicking the X button.

nesrak1 avatar Oct 27 '25 01:10 nesrak1

Image Doing something like this in UABEANext. Any fields that are not the same between assets are (Multiple values) until you change the value. You can revert back to the original value by clicking the X button.

您好~我在UABEANext无法找到Texture Edit 面板,无论是单选还是多选Texture2D只有Export和Import,期待您的答复

Image

dw317748627 avatar Dec 02 '25 09:12 dw317748627

Yes, this is a good idea. I am thinking of separating the texture plugin into two modes: one where this dialog box comes up and one where it doesn't. If the settings are different between textures, they'll just be blank, but changing it will change it for all.

There is still a way to do this right now if you don't want to wait around. Export dump all of the textures individually, then find and replace the m_TextureFormat field with the new number you want to use (you can change a single texture manually to find out what ID it should use, or look here for the list.) Then immediately batch import the textures you want and it will use the texture format that you put in that field.

上述这个方案修改了TextureFormat 但是文件大小并没有改变,需要逐个在Texture Editor中重新点击save才会重新生成图片数据,这样才可以减少ab包大小,但逐个点击太麻烦了

dw317748627 avatar Dec 02 '25 09:12 dw317748627

您好~我在UABEANext无法找到Texture Edit 面板

This feature hasn't been added yet. It's still in development. More specifically, my local changes allow batch property editing, but the "Load" button doesn't work. I'll push what I have for now.

上述这个方案修改了TextureFormat 但是文件大小并没有改变,需要逐个在Texture Editor中重新点击save才会重新生成图片数据,这样才可以减少ab包大小,但逐个点击太麻烦了

This is handled in that commit. It's batch editing, so you don't have to "click 'save' for each texture".

nesrak1 avatar Dec 03 '25 03:12 nesrak1

您好~我在UABEANext无法找到Texture Edit面板

此功能尚未添加,仍在开发中。更具体地说,我本地的修改允许批量编辑属性,但“加载”按钮无法正常工作。目前我只能先推送现有版本。

接下来这个方案修改了TextureFormat但是文件大小并没有改变,需要逐个在Texture Editor中重新点击save才会重新生成图片数据,这样才可以减少ab包大小,但是逐个点击太麻烦了

这在那个提交中已经处理过了。它是批量编辑,所以你不需要为每个纹理“点击‘保存’”。

谢谢您的回复,我修改了部分代码配合鼠标连续点击软件实现了批量修改,ab包的大小显著减少了

Image Image

dw317748627 avatar Dec 05 '25 03:12 dw317748627

That screenshot looks like UABEA? The nightly changes in UABEANext (as of two days ago) already allow you to batch edit without having to use scripts to click for you. You just select all of the Texture2D files you want and click the Edit Texture plugin and then change whatever options you want like "texture format". If you want to batch import, you can use the batch import texture plugin after changing the texture format.

nesrak1 avatar Dec 05 '25 04:12 nesrak1