Version 2.4.0
A Unity asset extraction tool supporting Unity 2.x through Unity 6 with multi-threaded loading and export capabilities.
Latest improvements:
- ✅ Fixed parallel loading with duplicate CAB files (v2.4.0)
- ✅ Fixed Unity 6000 texture loading (v2.3.2)
- ✅ Multi-threaded parallel export for faster processing (v2.2.0)
- ✅ Thread-safety improvements (v2.2.1)
- ✅ Unity 6 TypeTree deserialization enhancements (v2.3.1)
Get the latest compiled releases from the Releases page.
The release package contains both:
- AssetStudio.GUI.exe: Graphical interface version
- AssetStudio.CLI.exe: Command-line version for automation
This project has evolved through several iterations:
- Original: Perfare/AssetStudio - The original AssetStudio project
- Fork: RazTools/Studio - Enhanced version with additional features
- Current: Both upstream projects have paused active development, so we continue maintaining and updating this fork independently
Note: Requires Internet connection to fetch asset_index jsons.
- Parallel Bundle Loading: Multi-threaded bundle decompression significantly reduces load times for games with many asset bundles (2-8x faster on multi-core systems)
- Parallel Asset Export: Multi-threaded export engine utilizing all CPU cores for 2-8x faster export speeds
- Optimized for batch processing large asset collections
- Thread-safe file operations prevent data corruption
Supported Versions: Unity 2.x through Unity 6 (all 6000.x versions including 6000.0 - 6000.4+)
- Full support for Unity 6000.0.x - 6000.4.x series (Unity 6 / Unity 6.1 / Unity 6.2 / Unity 6.3 / Unity 6.4)
- Version parsing handles new 6000.x.y format (replaces year-based 2023.x naming)
- Texture serialization updated for Unity 2023.2+ format changes (removed
m_ForcedFallbackFormatandm_DownscaleFallbackfields) - Bundle loading, asset enumeration, and texture decoding all functional
- Known limitation: Some platform-specific texture compression formats may not decode correctly
- Interactive Version Prompt: Automatic dialog for stripped Unity versions - no more error floods
- Version input applies globally to all subsequent files in batch operations
How to use:
Check the tutorial here (Thanks to Modder4869 for the tutorial)
CLI Version:
Description:
Usage:
AssetStudioCLI <input_path> <output_path> [options]
Arguments:
<input_path> Input file/folder.
<output_path> Output folder.
Options:
--silent Hide log messages.
--type <Texture2D|Sprite|etc..> Specify unity class type(s)
--filter <filter> Specify regex filter(s).
--game <BH3|CB1|CB2|CB3|GI|SR|TOT|ZZZ> (REQUIRED) Specify Game.
--image_format <Png|Jpeg|Bmp|Webp> Specify texture export format for Texture2D and Sprite assets. [default: Png]
--map_op <AssetMap|Both|CABMap|None> Specify which map to build. [default: None]
--map_type <JSON|XML> AssetMap output type. [default: XML]
--map_name <map_name> Specify AssetMap file name.
--group_assets_type <ByContainer|BySource|ByType|None> Specify how exported assets should be grouped. [default: 0]
--no_asset_bundle Exclude AssetBundle from AssetMap/Export.
--no_index_object Exclude IndexObject/MiHoYoBinData from AssetMap/Export.
--xor_key <xor_key> XOR key to decrypt MiHoYoBinData.
--ai_file <ai_file> Specify asset_index json file path (to recover GI containers).
--version Show version information
-?, -h, --help Show help and usage information
NOTES:
- in case of any "MeshRenderer/SkinnedMeshRenderer" errors, make sure to enable "Disable Renderer" option in "Export Options" before loading assets.
- in case of need to export models/animators without fetching all animations, make sure to enable "Ignore Controller Anim" option in "Options -> Export Options" before loading assets.
Special Thank to:
- Perfare: Original author.
- Razmoth (Raz): Creator of RazTools/Studio updated fork.
- Khang06: Project for extraction.
- Radioegor146: Asset-indexes for recovered/updated asset_index's.
- Ds5678: AssetRipper[discord] for information about Asset Formats & Parsing.
- mafaca: uTinyRipper for
YAMLandAnimationClipConverter.