diff --git a/AssetStudio.PInvoke/AssetStudio.PInvoke.csproj b/AssetStudio.PInvoke/AssetStudio.PInvoke.csproj index b152265..ba50777 100644 --- a/AssetStudio.PInvoke/AssetStudio.PInvoke.csproj +++ b/AssetStudio.PInvoke/AssetStudio.PInvoke.csproj @@ -3,7 +3,7 @@ net472;net9.0;net9.0-windows;net10.0;net10.0-windows true - 0.19.0.0 + 0.20.0.0 Copyright © Perfare 2020-2022; Copyright © hozuki 2020 embedded diff --git a/AssetStudio/AssetStudio.csproj b/AssetStudio/AssetStudio.csproj index 11f9009..a779880 100644 --- a/AssetStudio/AssetStudio.csproj +++ b/AssetStudio/AssetStudio.csproj @@ -2,8 +2,8 @@ net472;net9.0;net9.0-windows;net10.0;net10.0-windows - 0.19.0.0 - Copyright © Perfare 2018-2022; Copyright © aelurum 2021-2025 + 0.20.0.0 + Copyright © Perfare 2018-2022; Copyright © aelurum 2021-2026 embedded diff --git a/AssetStudioCLI/AssetStudioCLI.csproj b/AssetStudioCLI/AssetStudioCLI.csproj index 8e617c2..631563e 100644 --- a/AssetStudioCLI/AssetStudioCLI.csproj +++ b/AssetStudioCLI/AssetStudioCLI.csproj @@ -5,8 +5,8 @@ net472;net9.0;net10.0 AssetStudioMod by aelurum AssetStudioModCLI - 0.19.0.0 - Copyright © Perfare; Copyright © aelurum 2023-2025 + 0.20.0.0 + Copyright © Perfare; Copyright © aelurum 2023-2026 AnyCPU embedded diff --git a/AssetStudioCLI/ReadMe.md b/AssetStudioCLI/ReadMe.md index 214c54a..0cc8435 100644 --- a/AssetStudioCLI/ReadMe.md +++ b/AssetStudioCLI/ReadMe.md @@ -11,26 +11,31 @@ AssetStudioModCLI [-m, --mode ] [--log-level ] [--log-output ] [--image-format ] [--audio-format ] [--l2d-group-option ] [--l2d-motion-mode ] - [--l2d-search-by-filename] [--l2d-force-bezier] - [--fbx-scale-factor ] [--fbx-bone-size ] - [--fbx-animation] [--fbx-uvs-as-diffuse] - [--filter-by-name ] [--filter-by-container ] - [--filter-by-pathid ] [--filter-by-text ] - [--filter-with-regex] [--blockinfo-comp ] - [--block-comp ] [--max-export-tasks ] - [--export-asset-list ] [--assembly-folder ] - [--unity-version ] [--decompress-to-disk] - [--not-restore-extension] [--ignore-typetree] + [--l2d-smooth-motions] [--l2d-search-by-filename] + [--l2d-filter-textures] [--fbx-scale-factor ] + [--fbx-bone-size ] [--fbx-animation] + [--fbx-dump-materials] [--fbx-uvs-as-diffuse] + [--fbx-ascii-format] [--filter-by-name ] + [--filter-by-container ] [--filter-by-pathid ] + [--filter-by-text ] [--filter-with-regex] + [--filter-exclude-mode] [--unity-version ] + [--cache-dir ] [--blockinfo-comp ] + [--block-comp ] [--decompress-to-disk] + [--max-export-tasks ] [--export-asset-list ] + [--assembly-folder ] [--strip-path-prefix ] + [--sprite-cropping] [--not-restore-extension] + [--ignore-typetree] [--raw-array] [--load-all] General Options: -m, --mode Specify working mode - + 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 Specify the file name format for exported assets - + 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 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 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 Specify the name or regexp by which assets should be filtered *To specify multiple names write them separated by ',' or ';' without spaces @@ -152,10 +167,15 @@ Filter Options: --filter-with-regex (Flag) If specified, the filter options will handle the specified text as a regular expression (doesn't apply to --filter-by-pathid) - --filter-exclude-mode (Flag) If specified, the filter options will work as an exclusion + --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 Specify Unity version + Example: "--unity-version 2022.3.2f1" + + --cache-dir Specify a directory for storing temporary files (default: program folder) + --blockinfo-comp Specify the compression type of bundle's blockInfo data 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 Specify the number of parallel tasks for asset export Max - Number of cores in your CPU @@ -189,11 +213,11 @@ Advanced Options: --strip-path-prefix Specify a path prefix to be stripped from exported asset paths Example: "--strip-path-prefix assets/models/char/" - --unity-version 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 + + 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) ``` diff --git a/AssetStudioFBXWrapper/AssetStudioFBXWrapper.csproj b/AssetStudioFBXWrapper/AssetStudioFBXWrapper.csproj index 39a5dda..3b0f2be 100644 --- a/AssetStudioFBXWrapper/AssetStudioFBXWrapper.csproj +++ b/AssetStudioFBXWrapper/AssetStudioFBXWrapper.csproj @@ -3,7 +3,7 @@ net472;net9.0;net9.0-windows;net10.0;net10.0-windows true - 0.19.0.0 + 0.20.0.0 Copyright © Perfare 2018-2022; Copyright © hozuki 2020 embedded diff --git a/AssetStudioGUI/AboutForm.Designer.cs b/AssetStudioGUI/AboutForm.Designer.cs index dae52d0..a20ab07 100644 --- a/AssetStudioGUI/AboutForm.Designer.cs +++ b/AssetStudioGUI/AboutForm.Designer.cs @@ -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 // diff --git a/AssetStudioGUI/AssetStudioGUI.csproj b/AssetStudioGUI/AssetStudioGUI.csproj index 45ddde2..410b958 100644 --- a/AssetStudioGUI/AssetStudioGUI.csproj +++ b/AssetStudioGUI/AssetStudioGUI.csproj @@ -7,8 +7,8 @@ Resources\as.ico AssetStudioMod by aelurum AssetStudioModGUI - 0.19.0.0 - Copyright © Perfare 2018-2022; Copyright © aelurum 2021-2025 + 0.20.0.0 + Copyright © Perfare 2018-2022; Copyright © aelurum 2021-2026 embedded diff --git a/AssetStudioUtility/AssetStudioUtility.csproj b/AssetStudioUtility/AssetStudioUtility.csproj index 10bbd1a..2d5437e 100644 --- a/AssetStudioUtility/AssetStudioUtility.csproj +++ b/AssetStudioUtility/AssetStudioUtility.csproj @@ -2,8 +2,8 @@ net472;net9.0;net9.0-windows;net10.0;net10.0-windows - 0.19.0.0 - Copyright © Perfare 2018-2022; Copyright © aelurum 2021-2025 + 0.20.0.0 + Copyright © Perfare 2018-2022; Copyright © aelurum 2021-2026 embedded diff --git a/CHANGELOG.md b/CHANGELOG.md index 239ef24..3995514 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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 @@ -86,16 +159,16 @@ #### New features - Added option to export assets with PathID in filename (https://github.com/aelurum/AssetStudio/issues/25) - Added support for swizzled Switch textures: - - Ported from nesrak1's fork (https://github.com/nesrak1/AssetStudio/tree/switch-tex-deswizzle) + - Ported from nesrak1's fork (https://github.com/nesrak1/AssetStudio/tree/switch-tex-deswizzle) - Added support for `Texture2DArray` assets: - - [GUI] Assets of fake asset type `Texture2DArrayImage` will be generated, to make it easier to work with images from array in the GUI + - [GUI] Assets of fake asset type `Texture2DArrayImage` will be generated, to make it easier to work with images from array in the GUI - Added support for assets with Zstd block compression: - - Implemented as one of the option for custom compression type (5). Selected by default. - - [GUI] "Options" -> "Custom compression type" - - [CLI] "--custom-compression" + - Implemented as one of the option for custom compression type (5). Selected by default. + - [GUI] "Options" -> "Custom compression type" + - [CLI] "--custom-compression" - Added support of Texture2D assets from Unity 2023.2+ - Added support of parallel asset export - - It's also possible to specify the number of parallel tasks for export in both the GUI and CLI (the higher the number of parallel tasks, the more RAM may be needed for exporting) + - It's also possible to specify the number of parallel tasks for export in both the GUI and CLI (the higher the number of parallel tasks, the more RAM may be needed for exporting) - Added support for parsing assets using their type tree for some asset types (`Texture2D`, `Texture2DArray`, `AnimationClip`) (beta): > only suitable for asset bundles which contain typetree info @@ -108,17 +181,17 @@ #### Other changes - [GUI] Preserve selection order of `AnimationClip` assets (https://github.com/aelurum/AssetStudio/issues/24) - Improved integration with Live2D assets: - - Improved export method of AnimationClip motions - - Added support for generation of cdi3.json (beta) - - [GUI] Added display of model info on the preview tab - - [GUI] Added support for partial export: - - selected models - - model + selected AnimationClip motions - - model + selected Fade motions - - model + selected Fade Motion List + - Improved export method of AnimationClip motions + - Added support for generation of cdi3.json (beta) + - [GUI] Added display of model info on the preview tab + - [GUI] Added support for partial export: + - selected models + - model + selected AnimationClip motions + - model + selected Fade motions + - model + selected Fade Motion List - Add more options to work with Scene Hierarchy: (https://github.com/aelurum/AssetStudio/issues/23) - - Added option to group exported assets by node path in scene hierarchy - - Added field with node path to exported xml asset list + - Added option to group exported assets by node path in scene hierarchy + - Added field with node path to exported xml asset list - [CLI] Added colors to help message - Changed Dump function to show/export object dump if type tree dump is not available - Added more displayed information for non-fmod audio clips @@ -126,13 +199,13 @@ ## v0.17.4.0 [16-12-2023] - Added support for Live2D Fade motions - - [GUI] Added related settings to the Export Options window - - [CLI] Added options section with related settings + - [GUI] Added related settings to the Export Options window + - [CLI] Added options section with related settings - Added support for separate PreloadData (https://github.com/Perfare/AssetStudio/issues/690) - [GUI] Added support for .lnk files via Drag&Drop (https://github.com/aelurum/AssetStudio/issues/13) - [GUI] Added support for Drag&Drop files from a browser - [GUI] Added console logger - - Added option to save log to a file + - Added option to save log to a file - [GUI] Added option to not build a tree structure - Made some other minor fixes and improvements diff --git a/LICENSE b/LICENSE index b95825b..7e16ca1 100644 --- a/LICENSE +++ b/LICENSE @@ -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 diff --git a/README.md b/README.md index 02b6b3e..015a3d4 100644 --- a/README.md +++ b/README.md @@ -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 -t monobehaviour --assembly-folder --unity-version 2017.4.39f1 +AssetStudioModCLI --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 -m info --load-all AssetStudioModCLI -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 diff --git a/Texture2DDecoderWrapper/Texture2DDecoderWrapper.csproj b/Texture2DDecoderWrapper/Texture2DDecoderWrapper.csproj index 1556e94..a1b807d 100644 --- a/Texture2DDecoderWrapper/Texture2DDecoderWrapper.csproj +++ b/Texture2DDecoderWrapper/Texture2DDecoderWrapper.csproj @@ -3,7 +3,7 @@ net472 true - 0.19.0.0 + 0.20.0.0 Copyright © Perfare 2020-2022; Copyright © hozuki 2020 embedded