- 1 Information
- 2 OverTool
- 3 APMTool
- 4 PackageTool
- 5 ConvertTool
- 6 TextureTool
- 7 Attribution
This toolchain is a series of unofficial command line tools used to work with Overwatch's formats, you need basic experience with the command prompt to fully use the tools. You can use the bat drag-and-drop presets to make the workflow easier.
Toolchain v220.127.116.11 Toolchain v18.104.22.168 for PTR OWM Importer for Blender v1.0.8 OWM Importer (Legacy) for Blender v1.0.7 OWM Importer for Maya Modified CascLib.dll for CASCExplorer Modified CascLib.dll for CASCExplorer for PTR 1.13
The toolchain requires .NET v4.6.0.
There is zero risk in using the tools, they do not communicate with your battle.net app in any way, no form of identity is taken or required. Though to prevent conflicts in loading, you should close battle.net (or have a chance that the launcher will redownload the entire game)
The tool has a custom format, which is documented here
Setting up the Source Code for Editing
Average users can skip this section, as it only applies to programming.
You will need a copy of Visual Studio 2015 or newer installed. If you don't have it, you can download Visual Studio Community for free, or purchase the full version for additional features. You also need to have git-scm installed.
- Open a command prompt where you want it to be downloaded
- Type in
git clone --recursive https://github.com/overtools/OWLib.git
- Navigate to the OWLib folder
OverwatchToolchain.slnin Visual Studio, and begin editing.
OverTool is a tool that works directly with the CASC filesystem to load relevant data in real time
Options are optional settings to change how Overtool functions. The order of the options is important! You can use each option on their own but using multiple must be in the order displayed below
This is OUTDATED
OverTool.exe [-LLang] [-n] [-q] OVERWATCH_FOLDER MODE [OPTS]
The L option lets you specify a language to extract, other than enUS.
OverTool.exe -LdeDE C:\Overwatch t
Full list of supported languages:
deDE, enUS, esES, esMX, frFR, itIT, jaJP, koKR, plPL, ptBR, ruRU, zhCN, zhTW
"Omnic uprising" arcade quotes are not exist in the download files. After "Omnic uprising" updated, koKR(Korean vocie) type has some errors and doesn't work.
This hidden option will disable the automatic collection of keys. This is only useful for people trying to find and collect Overwatch content keys.
OverTool.exe -n C:\Overwatch t
This hidden option will disable most of the logs that Overtool makes, potentially increases speed and lessening spam.
OverTool.exe -q C:\Overwatch t
The t option will load hero data and output a list of hero cosmetics with rarity and type.
OverTool.exe C:\Overwatch t
The x option will eXtract hero assets, such as skins, sprays and player icons to appropriate folders.
OverTool.exe overwatch_folder x output_folder [types [heroes [superoptions]]]
Extract all sprays and icons
OverTool.exe C:\Overwatch x C:\extract spray+icon
Extract all Tracer skins
OverTool.exe C:\Overwatch x C:\extract skin tracer
Extract all Tracer skins without converting models
OverTool.exe C:\Overwatch x C:\extract skin tracer +
Extract D.Va's White Rabbit and B.Va skin, Soldier 76's regular weapon, and Zenyatta's orb
OverTool.exe C:\Overwatch x C:\extract skin "d.va=white rabbit=b.va+soldier: 76=classic|13C6+zenyatta=classic|B6C"
Extract only gui icons for all heroes
OverTool.exe C:\Overwatch x C:\extract skin * +TAMSCPi
The format for this is
- ? = ConvertTool format character (+ is "raw")
- T = Suppress Textures (capital = don't export textures, lowercase = default)
- A = Suppress Animations (capital = don't export animations, lowercase = default)
- M = Suppress Models (capital = don't export models, lowercase = default)
- S = Suppress Sounds (capital = don't export sounds, lowercase = default)
- C = Export Collision (capital = export collision models, lowercase = default, not all models have collision models)
- R = Export RefPose (capital = don't export refpose, lowercase = default)
- I = Export GUI Images (capital = don't export gui images, lowercase = default)
The m option will list map information
OverTool.exe overwatch_folder m
The s option will list strings
OverTool.exe overwatch_folder s
The Z option will list keys
OverTool.exe overwatch_folder Z
The M option will extract map data.
OverTool.exe overwatch_folder M output_folder [maps]
OverTool.exe C:\Overwatch M C:\extract HANAMURA
Extract the Tutorial and Practice Range
OverTool.exe C:\Overwatch M C:\extract TUTORIAL "PRACTICE RANGE"
The G option will extract general items.
OverTool.exe overwatch_folder G output_folder
OverTool.exe C:\Overwatch G C:\extract
This option will list general item sorted by groups/events with rarity and type
OverTool.exe overwatch_folder g
The v option will extract sounds by hero
OverTool.exe [-LLang] overwatch_folder v output_folder [hero names...]
OverTool.exe C:\Overwatch v C:\extract
Extract Genji and Hanzo sounds
OverTool.exe C:\Overwatch v C:\extract genji+hanzo
Extract Genji and Hanzo sounds in Japanese
OverTool.exe -LjaJP C:\Overwatch v C:\extract genji+hanzo
This option is similar to mode v (lowercase) except it will extract all sounds for heroes and every sound referenced by the heroes skins ignoring dupes
OverTool.exe [-LLang] overwatch_folder V output_folder [hero names...]
See above for examples.
APMTool is a tool to search or list the contents of APM files. This is useful in reverse-searching Key indices.
APMTool.exe OVERWATCH_FOLDER MODE
Mode must always start with a single character, valid modes:
The "f" option sets the mode to "Find", it has the following sub-queries:
a[APM NAME] i[INDEX HEX] t[TYPE HEX] s[SIZE LESS THAN VALUE] S[SIZE GREATER THAN VALUE] n[INDEX WITHOUT IDENTIFIER HEX]
APMTool.exe C:\Overwatch f i30 t00C
Identical to F except it looks in CMF files instead of APM files.
The "l" option sets the mode to "List" package contents, it has the followig sub-queries:
p[PACKAGE KEY HEX] i[CONTENT KEY HEX]
APMTool.exe C:\Overwatch l pSOMEKEY
The "c" option is a helper mode, it converts direct keys into an index + type. Example:
APMTool.exe c c 06E00000128CE602
The "a" option is a helper mode, it displays all loaded APMs. Example:
APMTool.exe C:\Overwatch a
The "t" option is a helper mode, it displays all types (both in 12-bit and 16-bit) Example:
APMTool.exe C:\Overwatch t
PackageTool is a tool to extract all files in a package.
PackageTool.exe [-LLang] OVERWATCH_FOLDER EXTRACT_FOLDER LIST_OF_KEYS
PackageTool.exe C:\Overwatch C:\Extracted pSOMEKEY pANOTHERKEY PackageTool.exe -LkoKR C:\Overwatch C:\Extracted pSOMEKEY pANOTHERKEY
ConvertTool.exe MODEL_FILE OUTPUT_TYPE [-t] [-c] [-L] [-l LOD] OUTPUT_FILE
ConvertTool.exe 30.00C b -l 1 -l 255 30.xps ConvertTool.exe 30.00C o 30_all.obj
The "-l" flag sets which LODs to extract, you can have more than one.
The "-t" flag sets to export attachments
The "-c" flag sets to export collision models
The "-L" flag sets to export only the first LOD found
TextureTool is a tool to convert texture (004 and 04D) files into a DDS. Depending on the 004 file, the resulting DDS may be a DirectX10 DDS, or a Legacy DDS. The tool will try to output a Legacy DDS since it has wider support.
TextureTool.exe OUTPUT MODE PATHS
Mode must always be a single character, valid modes:
The "1" option will convert single 004 files (without a known 04D file) Usage:
TextureTool.exe OUTPUT_DDS 1 004_FILE
TextureTool.exe C:\test.dds 1 000000000001.004
The "2" option will convert 004 files that have a 04D raw texture. Usage:
TextureTool.exe OUTPUT_DDS 2 004_FILE 04D_FILE
TextureTool.exe C:\test.dds 2 000000000001.004 000100000001.04D
The "r" option will convert single 004 files (without a known 04D file) Usage:
TextureTool.exe OUTPUT_FOLDER r 004_PATH [04D_PATH]
04D_PATH is optional, if it's not present it will fail to convert 004 + 04D pairs. Example:
TextureTool.exe C:\test r 004 04D
OWLib.dll is COM Visible.
Special thanks to Episoder and Id-daemon for help with the texture format and model format.
Special thanks to Id-daemon for developing overwatch-anim.
Special thanks to usernametoolo for help with OWMImporter and the map formats.
Special thanks for Fusion and Kjasi for providing support regarding the CASC Storage system.
This toolchain uses OpenTK.