Skip to content

Instantly share code, notes, and snippets.

@Modder4869
Last active April 26, 2024 13:36
Show Gist options
  • Star 31 You must be signed in to star a gist
  • Fork 3 You must be signed in to fork a gist
  • Save Modder4869/0f5371f8879607eb95b8e63badca227e to your computer and use it in GitHub Desktop.
Save Modder4869/0f5371f8879607eb95b8e63badca227e to your computer and use it in GitHub Desktop.

VIDEOS MIGHT OUTDATED BUT TEXT IS NOT

this guide is not meant to help with leaking or any stupid things you might do to ruin experience for other people

Downloading

  • Get latest version from Github Actions not releases from here , if you dont have account you can use site like nightly.link to download it , Latest build
  • Extract zip file somewhere
chrome_bBlpF4CYiz.webm.mov

Running

  • open AssetStudioGUI then click on Options -> specify game and pick your game name , for games like GI you might have to disable shader click here
SpecifyingGame.mov

Building AssetsMap and CABMap

  • Click on Miscs then in text input type assets map output name , test_bh3 in this video
  • Click on AssetMap Type and pick MessagePack from list
  • Cick on Build Both
  • Select the folder where your game files are
  • Pick Output folder try to not use game folder as output folder as it cause some issues
  • Wait till it finish
BuildingAssetMap.mov

Using AssetsBrowser

  • Miscs Select CABMap you built earlier from list (check in console windows and maker sure it said Loaded cabmap name)
  • Miscs -> Asset Browser -> Load AssetMap and pick the AssetMap you create in previous step it ends with .map extension
  • Find asset you need by searching with its name or type for example under Name Elysia under Type Animator
  • Click on Arrow icon and Select the Assets you want to load
    • now you can press Load Selected to load files in GUI and let you browse and pick what to extract
    • or Use Export Selected which will export assets without loading them into GUI (this generaly use less Ram compared to loading assets option) if you are exporting types thats not models (Animators/GameObject) under Options uncheck Resolve Dependencies otherwise it would take long time loading all other files
ExportSelected.mov

Extracting Models

  • you can right click items in Asset List then Export selected assets
    • if you are getting big size fbx output make sure to disable Collect Animations in Options-> Export options
ExtractingAsset.mov

OR

  • Find Asset that has Animator Type in Asset Listthen right click Go to scene hierarchy Select the model you want
  • Click on Model ->Export Selected if you selected more than one model and you want them merged pick merge options
    • Optionally If you want AnimationClips along the FBX file Doesnt work for Every AnimationClip Type Select them in Asset list and pick Exported Selected objects + Selected Animation Clips
    • you can also click Options -> Filter models only so only models that hash mesh are shows in asset list or Enable model preview
  • Some models are GameObject (GI npcs for example ) those wont be included in Assetmap by default if you need them you need to go to Options->Export Options uncheck MinimalMap before building assetmap
    • Options -> Display All Assets
ModelScene.mov

Extracting Animation

Importing

some games require betterfbx addon to import correctly in blender

ImportModel.mov

Extracting Models using CLI

  • first build CABMap using .\AssetStudioCLI.exe input output --map_op CABMap --map_name bh3_cliCabMap --game GAME_NAME
  • extract using .\AssetStudioCLI.exe input output --map_op Load --map_name bh3_cliCabMap --models --game GAME_NAME
    • with extracting models you can pass name or containers filter , also better to use --group_assets option
    • it might be slow

CLI

  • you can use asset studio cli to export stuff easier open powershell/cmd in same folder where studio installed
  • do .\AssetStudioCLI.exe --help to see what you can do few examples
  • Building AssetMap would be something like \AssetStudioCLI.exe "input folder" "output folder" --game GAME_NAME --map_op AssetMap --map_type MessagePack --map_name assets_map replace GAME_NAME with your actual game name
  • extracting all textures .\AssetStudioCLI.exe "input folder" "output folder" --types Texture2d --game GAME_NAME
    • can also use --names to filter what you want to extract it accept any regex
  • extracting models with cli would be something like .\AssetStudioCLI.exe "input folder" "output folder" --game GAME_NAME --map_op Load --models --names ^Avatar --map_name assets_map replace assets_map with whatever name you picked when building assetmap this would extract any model that start with Avatar

UnityCN

  • Options->Specify Game->UnityCN
  • Options->Specify UnityCN Key
  • pick your game from the list or add new key if you have one , double click on the arrow
  • Load your file
UnityCN.mov

Disable Specific Types

in Options -> Export Options under Selected unity type can click on list and pick type and uncheck both Parse and Export

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment