Bump version, update readmes

This commit is contained in:
VaDiM
2026-11-01 02:00:02 +03:00
parent 5ca8d8ec19
commit aa1315195f
12 changed files with 205 additions and 104 deletions
@@ -3,7 +3,7 @@
<PropertyGroup>
<TargetFrameworks>net472;net9.0;net9.0-windows;net10.0;net10.0-windows</TargetFrameworks>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<Version>0.19.0.0</Version>
<Version>0.20.0.0</Version>
<Copyright>Copyright © Perfare 2020-2022; Copyright © hozuki 2020</Copyright>
<DebugType>embedded</DebugType>
</PropertyGroup>
+2 -2
View File
@@ -2,8 +2,8 @@
<PropertyGroup>
<TargetFrameworks>net472;net9.0;net9.0-windows;net10.0;net10.0-windows</TargetFrameworks>
<Version>0.19.0.0</Version>
<Copyright>Copyright © Perfare 2018-2022; Copyright © aelurum 2021-2025</Copyright>
<Version>0.20.0.0</Version>
<Copyright>Copyright © Perfare 2018-2022; Copyright © aelurum 2021-2026</Copyright>
<DebugType>embedded</DebugType>
</PropertyGroup>
+2 -2
View File
@@ -5,8 +5,8 @@
<TargetFrameworks>net472;net9.0;net10.0</TargetFrameworks>
<AssemblyTitle>AssetStudioMod by aelurum</AssemblyTitle>
<AssemblyName>AssetStudioModCLI</AssemblyName>
<Version>0.19.0.0</Version>
<Copyright>Copyright © Perfare; Copyright © aelurum 2023-2025</Copyright>
<Version>0.20.0.0</Version>
<Copyright>Copyright © Perfare; Copyright © aelurum 2023-2026</Copyright>
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>embedded</DebugType>
</PropertyGroup>
+52 -25
View File
@@ -11,26 +11,31 @@ AssetStudioModCLI <input path to asset file(s)/folder> [-m, --mode <value>]
[--log-level <value>] [--log-output <value>]
[--image-format <value>] [--audio-format <value>]
[--l2d-group-option <value>] [--l2d-motion-mode <value>]
[--l2d-search-by-filename] [--l2d-force-bezier]
[--fbx-scale-factor <value>] [--fbx-bone-size <value>]
[--fbx-animation] [--fbx-uvs-as-diffuse]
[--filter-by-name <text>] [--filter-by-container <text>]
[--filter-by-pathid <text>] [--filter-by-text <text>]
[--filter-with-regex] [--blockinfo-comp <value>]
[--block-comp <value>] [--max-export-tasks <value>]
[--export-asset-list <value>] [--assembly-folder <path>]
[--unity-version <text>] [--decompress-to-disk]
[--not-restore-extension] [--ignore-typetree]
[--l2d-smooth-motions] [--l2d-search-by-filename]
[--l2d-filter-textures] [--fbx-scale-factor <value>]
[--fbx-bone-size <value>] [--fbx-animation]
[--fbx-dump-materials] [--fbx-uvs-as-diffuse]
[--fbx-ascii-format] [--filter-by-name <text>]
[--filter-by-container <text>] [--filter-by-pathid <text>]
[--filter-by-text <text>] [--filter-with-regex]
[--filter-exclude-mode] [--unity-version <text>]
[--cache-dir <path>] [--blockinfo-comp <value>]
[--block-comp <value>] [--decompress-to-disk]
[--max-export-tasks <value>] [--export-asset-list <value>]
[--assembly-folder <path>] [--strip-path-prefix <path>]
[--sprite-cropping] [--not-restore-extension]
[--ignore-typetree] [--raw-array]
[--load-all]
General Options:
-m, --mode <value> Specify working mode
<Value: extract | export(default) | exportRaw | dump | info | live2d |
splitObjects | animator>
<Value: extract | export(default) | exportRaw | dump | jsonDump | info |
live2d | splitObjects | animator>
Extract - Extract(Decompress) asset bundles
Export - Convert and export assets
ExportRaw - Export raw assets
Dump - Generate json dumps of loaded asset
Dump - Generate txt dumps of loaded asset
JsonDump - Generate json dumps of loaded asset
Info - Load file(s) and show the number of available for export assets
Live2D - Export Live2D Cubism models
SplitObjects - Export all model objects (split) (fbx)
@@ -50,15 +55,16 @@ General Options:
Type - Group exported assets by type name
Container - Group exported assets by container path
ContainerFull - Group exported assets by full container path (e.g. with prefab name)
SceneHierarchy - Group exported assets by their node path in scene hierarchy
FileName - Group exported assets by source file name
SceneHierarchy - Group exported assets by their node path in scene hierarchy
Example: "-g containerFull"
-f, --filename-format <value> Specify the file name format for exported assets
<Value: assetName(default) | assetName_pathID | pathID>
<Value: assetName(default) | assetName_pathID | pathID | assetName_hash>
AssetName - Asset file names will look like "assetName.extension"
AssetName_pathID - Asset file names will look like "assetName @pathID.extension"
PathID - Asset file names will look like "pathID.extension"
AssetName_hash - (images only) image names will look like "assetName @hash.extension"
Example: "-f assetName_pathID"
-o, --output <path> Specify path to the output folder
@@ -103,13 +109,17 @@ Live2D Options:
AnimationClip - Try to export motions using AnimationClip assets
Example: "--l2d-motion-mode animationClip"
--l2d-smooth-motions (Flag) If specified, Linear motion segments will be calculated as Bezier segments
(May help if the exported motions look jerky/not smooth enough)
--l2d-search-by-filename (Flag) If specified, Studio will search for model-related Live2D assets by file name
rather than by container
(Preferred option if all l2d assets of a single model are stored in a single file
or containers are obfuscated)
--l2d-force-bezier (Flag) If specified, Linear motion segments will be calculated as Bezier segments
(May help if the exported motions look jerky/not smooth enough)
--l2d-filter-textures (Flag) If specified, Studio will only export model textures with "texture"
in their names
(Only when "--l2d-search-by-filename" flag is used)
FBX Options:
--fbx-scale-factor <value> Specify the FBX Scale Factor
@@ -127,10 +137,15 @@ FBX Options:
All - Try to bind all loaded animations to each loaded model
Example: "--fbx-animation skip"
--fbx-dump-materials (Flag) If specified, Studio will dump model-related Material assets along with a model
--fbx-uvs-as-diffuse (Flag) If specified, Studio will export all UVs as Diffuse maps.
Can be useful if you cannot find some UVs after exporting (e.g. in Blender)
Сan be useful if you cannot find some UVs after exporting (e.g. in Blender)
(But can also cause some bugs with UVs)
--fbx-ascii-format (Flag) If specified, Studio will export FBX in ASCII format.
If not specified, Binary format will be used
Filter Options:
--filter-by-name <text> Specify the name or regexp by which assets should be filtered
*To specify multiple names write them separated by ',' or ';' without spaces
@@ -155,7 +170,12 @@ Filter Options:
--filter-exclude-mode (Flag) If specified, the filter options will work as an exclusion
(i.e. assets that match the filter conditions will be excluded)
Advanced Options:
Import Options:
--unity-version <text> Specify Unity version
Example: "--unity-version 2022.3.2f1"
--cache-dir <path> Specify a directory for storing temporary files (default: program folder)
--blockinfo-comp <value> Specify the compression type of bundle's blockInfo data
<Value: auto(default) | zstd | oodle | lz4 | lzma>
Auto - Use compression type specified in an asset bundle
@@ -174,6 +194,10 @@ Advanced Options:
Lzma - Try to decompress as lzma archive
Example: "--block-comp zstd"
--decompress-to-disk (Flag) If not specified, only bundles larger than 2GB will be decompressed
to disk(cache dir) instead of RAM
Advanced Options:
--max-export-tasks <value> Specify the number of parallel tasks for asset export
<Value: integer number from 1 to max number of cores (default=max)>
Max - Number of cores in your CPU
@@ -189,11 +213,11 @@ Advanced Options:
--strip-path-prefix <path> Specify a path prefix to be stripped from exported asset paths
Example: "--strip-path-prefix assets/models/char/"
--unity-version <text> Specify Unity version
Example: "--unity-version 2017.4.39f1"
--decompress-to-disk (Flag) If not specified, only bundles larger than 2GB will be decompressed to disk
instead of RAM
--sprite-cropping Specify the sprite cropping mode
<Value: spriteRect(default) | textureRect>
SpriteRect - Crop sprites keeping their own size and alignment
TextureRect - Crop sprites to their actual image size (aka trim)
Example: "--sprite-cropping textureRect"
--not-restore-extension (Flag) If specified, Studio will not try to use/restore original TextAsset extension,
and will just export all TextAssets with the ".txt" extension
@@ -201,6 +225,9 @@ Advanced Options:
--ignore-typetree (Flag) If specified, Studio will not try to parse assets at load time
using their type tree
--raw-array (Flag) If specified, Studio will try to extract raw byte array from MonoBehaviour assets
(Only for ExportRaw mode)
--load-all (Flag) If specified, Studio will load assets of all types
(Only for Dump, Info and ExportRaw modes)
(Only for Dump, JsonDump, Info and ExportRaw modes)
```
@@ -3,7 +3,7 @@
<PropertyGroup>
<TargetFrameworks>net472;net9.0;net9.0-windows;net10.0;net10.0-windows</TargetFrameworks>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<Version>0.19.0.0</Version>
<Version>0.20.0.0</Version>
<Copyright>Copyright © Perfare 2018-2022; Copyright © hozuki 2020</Copyright>
<DebugType>embedded</DebugType>
</PropertyGroup>
+1 -1
View File
@@ -232,7 +232,7 @@
this.label19.Name = "label19";
this.label19.Size = new System.Drawing.Size(124, 15);
this.label19.TabIndex = 4;
this.label19.Text = "aelurum (c) 2021-2025";
this.label19.Text = "aelurum (c) 2021-2026";
//
// gitAelurumLinkLabel
//
+2 -2
View File
@@ -7,8 +7,8 @@
<ApplicationIcon>Resources\as.ico</ApplicationIcon>
<AssemblyTitle>AssetStudioMod by aelurum</AssemblyTitle>
<AssemblyName>AssetStudioModGUI</AssemblyName>
<Version>0.19.0.0</Version>
<Copyright>Copyright © Perfare 2018-2022; Copyright © aelurum 2021-2025</Copyright>
<Version>0.20.0.0</Version>
<Copyright>Copyright © Perfare 2018-2022; Copyright © aelurum 2021-2026</Copyright>
<DebugType>embedded</DebugType>
</PropertyGroup>
+2 -2
View File
@@ -2,8 +2,8 @@
<PropertyGroup>
<TargetFrameworks>net472;net9.0;net9.0-windows;net10.0;net10.0-windows</TargetFrameworks>
<Version>0.19.0.0</Version>
<Copyright>Copyright © Perfare 2018-2022; Copyright © aelurum 2021-2025</Copyright>
<Version>0.20.0.0</Version>
<Copyright>Copyright © Perfare 2018-2022; Copyright © aelurum 2021-2026</Copyright>
<DebugType>embedded</DebugType>
</PropertyGroup>
+74 -1
View File
@@ -1,4 +1,77 @@
# Changelog
# Changelog
## v0.20.0.0 [01-11-2026]
#### New features
- Improved Unity 6+ support (up to v7000.0)
- Improved Tuanjie support (up to v1.10) (still partial)
- Improved auto-detection of Tuanjie meshes
- [GUI] Added option to specify parsing mode of Tuanjie meshes
- Added support for legacy Unity versions (https://github.com/aelurum/AssetStudioMod/issues/103)
- Added JsonDump option
- Added support for parsing `MeshRenderer` and `SkinnedMeshRenderer` via typetree
- Added option to export images in "assetName@hash" name format
- Added option to dump material assets during model export (CLI flag: `--fbx-dump-materials`)
- Added option to keep original sprite sizes (https://github.com/aelurum/AssetStudioMod/issues/107; https://github.com/aelurum/AssetStudioMod/pull/115)
- Enabled by default
- [CLI] Added `--sprite-cropping` option to the Advanced options section
- [GUI] Added "Keep original sprite sizes" option to the Export options
- [GUI] Added `Ctrl + R` hotkey to change sprite rendering mode
- [GUI] Added `Ctrl + B` hotkey to display sprite border
- Added option to extract raw byte array from MonoBehaviour assets (CLI flag: `--raw-array`)
- [GUI] Added "Studio options" window:
- Added option to specify a custom cache directory
- Renamed "Use lazy loading for Mesh assets" to "Pre-process Mesh assets" and moved to Studio options
- [GUI] Replaced "Import options" with "Game-specific options" window
- [GUI] Reworked "Export options" window
- [GUI] Added Unity version label to status strip
- [CLI] Added flag to allow removing container path prefix (`--strip-path-prefix`) (https://github.com/aelurum/AssetStudioMod/pull/113)
- [CLI] Added flag to allow filtering assets in blacklist mode (`--filter-exclude-mode`) (https://github.com/aelurum/AssetStudioMod/pull/113)
- [CLI] Added flag to allow exporting models in FBX ASCII format (`--fbx-ascii-format`) (https://github.com/aelurum/AssetStudioMod/pull/124)
- [CLI] Added support for `--fbx-uvs-as-diffuse` option in `--mode animator` (https://github.com/aelurum/AssetStudioMod/pull/124)
#### Fixes
- Improved normal maps support (https://github.com/aelurum/AssetStudioMod/issues/57)
- Fixed rendering of some packed sprites (https://github.com/aelurum/AssetStudioMod/issues/104)
- Fixed an error in case of unsupported sprites (https://github.com/aelurum/AssetStudioMod/issues/109)
- Fixed a bug in the bundle block reader (https://github.com/aelurum/AssetStudioMod/issues/119)
- Fixed null reference exception when bone frame is not found (https://github.com/aelurum/AssetStudioMod/pull/129)
- Fixed export interruption due to an error during mesh processing (https://github.com/aelurum/AssetStudioMod/issues/134)
- Fixed an error during parsing typetree data of Font assets (https://github.com/aelurum/AssetStudioMod/issues/137)
- Fixed m_IndexBuffer decompression when m_IndexFormat != 0 (https://github.com/aelurum/AssetStudioMod/issues/147)
- Fixed fbx export of some old models (regression v0.19.0)
- Fixed parallel export from a single stream
- Fixed some bugs with invalid names during export
- Changed cache logic:
- Single cache file instead of separate cache files for each bundle
- Program folder as a default cache directory
- Disabled ANSI codes support for console in Wine
- [GUI] Improved multi-monitor & highDpi support:
- Improved multi-monitor support (.net builds)
- Disabled dpi awareness for net472 build, via app.manifest, for better compatibility (with Wine as well)
- [CLI] Fixed `--mode animator` not exporting AnimationClips with `--fbx-animation all` (https://github.com/aelurum/AssetStudioMod/pull/124)
#### Live2D Changes
- Added support for Cubism 5.3 models
- Added option to filter Live2D textures when the "Search assets by filename" option is used
- [CLI] Added `--l2d-filter-textures` flag to the Live2D options section
- Improved detection of Live2D models (https://github.com/aelurum/AssetStudioMod/issues/122)
- Added an alternative way of model detection when a MonoScript asset is not loaded
- Fixed Live2D motion converting (https://github.com/aelurum/AssetStudioMod/issues/150)
- Fixed BlendType enum
- [exp3.json] Fixed format of Blend values (there should be strings according to the official specification)
- Improved support for Live2D physics and fade motion assets
- Disabled warnings from Live2D motion converter in non-debugging mode
- [CLI] Renamed "--l2d-force-bezier" to "--l2d-smooth-motions"
#### Other Changes
- Added support for swizzled rgba64 textures
- Changed display format of large byte arrays to base64 string
- Improved Dark mode support for .net10
- Improved AudioClip support
- [GUI] Improved right-click menu options for dump tree view
- [GUI] Improved lzma progress report
- Made some other minor fixes and improvements
## v0.19.0.0 [04-09-2025]
#### Breaking Changes
+2 -2
View File
@@ -1,8 +1,8 @@
MIT License
MIT License
Copyright (c) 2016 Radu
Copyright (c) 2016-2022 Perfare
Copyright (c) 2021-2025 aelurum
Copyright (c) 2021-2026 aelurum
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
+45 -44
View File
@@ -1,4 +1,4 @@
# AssetStudioMod
# AssetStudioMod
[![Release](https://img.shields.io/github/v/release/aelurum/AssetStudio?color=blue)](https://github.com/aelurum/AssetStudio/releases/latest) [![Downloads](https://img.shields.io/github/downloads/aelurum/AssetStudio/total?color=blue)](https://github.com/aelurum/AssetStudio/releases/latest) [![Download latest release](https://img.shields.io/badge/Download_latest_release-blue)](https://github.com/aelurum/AssetStudio/releases/latest)
@@ -15,7 +15,9 @@
## AssetStudio Features
- Support Unity version:
- 1.7 - 6000.2
- 1.2 - 7000.0
- Support Tuanjie version (partial):
- 1.0 - 1.10
- Support asset types:
- **Texture2D**, **Texture2DArray** : convert to png, tga, jpeg, bmp, webp
- **Sprite** : crop Texture2D to png, tga, jpeg, bmp, webp
@@ -36,7 +38,6 @@
- Support of image export in WebP format
- Support of Live2D Cubism model export
- Ported from my fork of Perfare's [UnityLive2DExtractor](https://github.com/aelurum/UnityLive2DExtractor)
- Using the Live2D export in AssetStudio allows you to specify a Unity version and assembly folder if needed
- Support of swizzled Switch textures
- Ported from nesrak1's [AssetStudio fork](https://github.com/nesrak1/AssetStudio/tree/switch-tex-deswizzle)
- Detecting bundles with UnityCN encryption
@@ -47,12 +48,48 @@
- AssetStudioMod.net472
- GUI/CLI - [.NET Framework 4.7.2](https://dotnet.microsoft.com/download/dotnet-framework/net472)
- AssetStudioMod.net8
- GUI/CLI (Windows) - [.NET Desktop Runtime 8.0](https://dotnet.microsoft.com/download/dotnet/8.0)
- CLI (Linux/Mac) - [.NET Runtime 8.0](https://dotnet.microsoft.com/download/dotnet/8.0)
- AssetStudioMod.net9
- GUI/CLI (Windows) - [.NET Desktop Runtime 9.0](https://dotnet.microsoft.com/download/dotnet/9.0)
- CLI (Linux/Mac) - [.NET Runtime 9.0](https://dotnet.microsoft.com/download/dotnet/9.0)
- AssetStudioMod.net10
- GUI/CLI (Windows) - [.NET Desktop Runtime 10.0](https://dotnet.microsoft.com/download/dotnet/10.0)
- CLI (Linux/Mac) - [.NET Runtime 10.0](https://dotnet.microsoft.com/download/dotnet/10.0)
## GUI Usage
### Load Assets/AssetBundles
Use **File->Load file** or **File->Load folder**.
When AssetStudio loads AssetBundles, it decompresses and reads it directly in memory, which may cause a large amount of memory to be used. You can use **File->Extract file** or **File->Extract folder** to extract AssetBundles to another folder, and then read.
### Extract/Decompress AssetBundles
Use **File->Extract file** or **File->Extract folder**.
### Export Assets, Live2D Models
Use **Export** menu.
### Export 3D Models (FBX)
Export model from "Scene Hierarchy" using the **Model** menu.
Export Animator from "Asset List" using the **Export** menu.
#### With AnimationClip
Select model from "Scene Hierarchy" then select the AnimationClip from "Asset List", using **Model->Export selected objects with AnimationClip** to export.
Export Animator will export bound AnimationClip or use **Ctrl** to select Animator and AnimationClip from "Asset List", using **Export->Export Animator with selected AnimationClip** to export.
### Export MonoBehaviour
When you select an asset of the MonoBehaviour type for the first time, AssetStudio will ask you the directory where the assembly is located, please select the directory where the assembly is located, such as the `Managed` folder.
#### For Il2Cpp
First, use [Il2CppDumper](https://github.com/Perfare/Il2CppDumper) (or [Il2CppInspectorRedux](https://github.com/LukeFZ/Il2CppInspectorRedux) / [AtiDev17/Il2CppDumper](https://github.com/AtiDev17/Il2CppDumper)) to generate dummy dll, then when using AssetStudio to select the assembly directory, select the dummy dll folder.
## CLI Usage
@@ -145,7 +182,7 @@ AssetStudioModCLI <asset folder path> -t monobehaviour --assembly-folder <assemb
```
- Export assets that require to specify a Unity version
```
AssetStudioModCLI <asset folder path> --unity-version 2017.4.39f1
AssetStudioModCLI <asset folder path> --unity-version 2022.3.2f1
```
- Load assets of all types and show them (similar to "Display all assets" option in the GUI)
```
@@ -156,45 +193,9 @@ AssetStudioModCLI <asset folder path> -m info --load-all
AssetStudioModCLI <asset folder path> -m dump -t material --load-all
```
## GUI Usage
### Load Assets/AssetBundles
Use **File->Load file** or **File->Load folder**.
When AssetStudio loads AssetBundles, it decompresses and reads it directly in memory, which may cause a large amount of memory to be used. You can use **File->Extract file** or **File->Extract folder** to extract AssetBundles to another folder, and then read.
### Extract/Decompress AssetBundles
Use **File->Extract file** or **File->Extract folder**.
### Export Assets, Live2D models
Use **Export** menu.
### Export Model
Export model from "Scene Hierarchy" using the **Model** menu.
Export Animator from "Asset List" using the **Export** menu.
#### With AnimationClip
Select model from "Scene Hierarchy" then select the AnimationClip from "Asset List", using **Model->Export selected objects with AnimationClip** to export.
Export Animator will export bound AnimationClip or use **Ctrl** to select Animator and AnimationClip from "Asset List", using **Export->Export Animator with selected AnimationClip** to export.
### Export MonoBehaviour
When you select an asset of the MonoBehaviour type for the first time, AssetStudio will ask you the directory where the assembly is located, please select the directory where the assembly is located, such as the `Managed` folder.
#### For Il2Cpp
First, use [Il2CppDumper](https://github.com/Perfare/Il2CppDumper) to generate dummy dll, then when using AssetStudio to select the assembly directory, select the dummy dll folder.
## Build
* Visual Studio 2022 or newer
* Visual Studio 2026 or newer
* **AssetStudioFBXNative** uses [FBX SDK 2020.2.1](https://www.autodesk.com/developer-network/platform-technologies/fbx-sdk-2020-2-1), before building, you need to install the FBX SDK and modify the project file, change include directory and library directory to point to the FBX SDK directory
## Open source libraries used
@@ -3,7 +3,7 @@
<PropertyGroup>
<TargetFramework>net472</TargetFramework>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<Version>0.19.0.0</Version>
<Version>0.20.0.0</Version>
<Copyright>Copyright © Perfare 2020-2022; Copyright © hozuki 2020</Copyright>
<DebugType>embedded</DebugType>
</PropertyGroup>