Skip to content

aelurum/AssetStudio

 
 

Repository files navigation

AssetStudioMod

Release Downloads Download latest release

Build status Download latest build

AssetStudioMod - modified version of Perfare's AssetStudio, mainly focused on UI optimization and some functionality enhancements.

Neither the repository, nor the tool, nor the author of the tool, nor the author of the modification is affiliated with, sponsored, or authorized by Unity Technologies or its affiliates.

Game specific modifications

AssetStudio Features

  • Support version:
    • 3.4 - 2023.2
  • Support asset types:
    • Texture2D, Texture2DArray : convert to png, tga, jpeg, bmp, webp
    • Sprite : crop Texture2D to png, tga, jpeg, bmp, webp
    • AudioClip : mp3, ogg, wav, m4a, fsb. Support converting FSB file to WAV(PCM)
    • Font : ttf, otf
    • Mesh : obj
    • TextAsset
    • Shader (for Unity < 2021)
    • MovieTexture
    • VideoClip
    • MonoBehaviour : json
    • Animator : export to FBX file with bound AnimationClip

AssetStudioMod Features

  • CLI version (for Windows, Linux, Mac)
    • Animator and AnimationClip assets are not supported in the CLI version
  • Support of sprites with alpha mask
  • Support of image export in WebP format
  • Support of Live2D Cubism model export
    • Ported from my fork of Perfare's UnityLive2DExtractor
    • Using the Live2D export in AssetStudio allows you to specify a Unity version and assembly folder if needed
  • Support of swizzled Switch textures
  • Detecting bundles with UnityCN encryption
    • Detection only. If you want to open them, please use Razmoth's Studio
  • Some UI optimizations and bug fixes (See CHANGELOG for details)

Requirements

CLI Usage

You can read CLI readme here.

Run

  • Command-line: AssetStudioModCLI <asset folder path>
  • Command-line for Portable versions (.NET 6+): dotnet AssetStudioModCLI.dll <asset folder path>

Basic Samples

  • Show a list with a number of assets of each type available for export
AssetStudioModCLI <asset folder path> -m info
  • Export assets of all supported for export types
AssetStudioModCLI <asset folder path>
  • Export assets of specific types
AssetStudioModCLI <asset folder path> -t tex2d
AssetStudioModCLI <asset folder path> -t tex2d,sprite,audio
  • Export assets grouped by type
AssetStudioModCLI <asset folder path> -g type
  • Export assets to a specified output folder
AssetStudioModCLI <asset folder path> -o <output folder path>
  • Dump assets to a specified output folder
AssetStudioModCLI <asset folder path> -m dump -o <output folder path>
  • Export Live2D Cubism models
AssetStudioModCLI <asset folder path> -m live2d

When running in live2d mode you can only specify -o, --log-level, --log-output, --l2d-motion-mode, --l2d-force-bezier, --export-asset-list, --unity-version and --assembly-folder options. Any other options will be ignored.

  • Export all FBX objects (similar to "Export all objects (split)" option in the GUI)
AssetStudioModCLI <asset folder path> -m splitObjects

When running in splitObjects mode you can only specify -o, --log-level, --log-output, --export-asset-list, --image-format, --filter-by-name and --unity-version options. Any other options will be ignored.

Advanced Samples

  • Export image assets converted to webp format to a specified output folder
AssetStudioModCLI <asset folder path> -o <output folder path> -t sprite,tex2d --image-format webp
  • Show the number of audio assets that have "voice" in their names
AssetStudioModCLI <asset folder path> -m info -t audio --filter-by-name voice
  • Export audio assets that have "voice" in their names
AssetStudioModCLI <asset folder path> -t audio --filter-by-name voice
  • Export audio assets that have "music" or "voice" in their names
AssetStudioModCLI <asset folder path> -t audio --filter-by-name music,voice
AssetStudioModCLI <asset folder path> -t audio --filter-by-name music --filter-by-name voice
  • Export audio assets that have "char" in their names or containers
AssetStudioModCLI <asset folder path> -t audio --filter-by-text char
  • Export audio assets that have "voice" in their names and "char" in their containers
AssetStudioModCLI <asset folder path> -t audio --filter-by-name voice --filter-by-container char
  • Export FBX objects that have "model" or "scene" in their names and set the scale factor to 10
AssetStudioModCLI <asset folder path> -m splitObjects --filter-by-name model,scene --fbx-scale-factor 10
  • Export MonoBehaviour assets that require an assembly folder to read and create a log file
AssetStudioModCLI <asset folder path> -t monobehaviour --assembly-folder <assembly folder path> --log-output both
  • Export assets that require to specify a Unity version
AssetStudioModCLI <asset folder path> --unity-version 2017.4.39f1
  • Load assets of all types and show them (similar to "Display all assets" option in the GUI)
AssetStudioModCLI <asset folder path> -m info --load-all
  • Load assets of all types and dump Material assets
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 to generate dummy dll, then when using AssetStudio to select the assembly directory, select the dummy dll folder.

Build

  • Visual Studio 2022 or newer
  • AssetStudioFBXNative uses 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

Texture2DDecoder

About

AssetStudioMod - modified version of Perfare's AssetStudio, mainly focused on UI optimization and some functionality enhancements.

Topics

Resources

License

Stars

Watchers

Forks

Languages

  • C# 80.7%
  • C++ 16.7%
  • C 2.5%
  • CMake 0.1%