Modding with File Changer - SWTOR-Slicers/WikiPedia GitHub Wiki
A compilation of guides and techniques by hackbackwards, Phil McKrakin, Cracklord, Sultana, and other fellow Slicers.
(Thanks to hackbackwards' efforts, the old SWTOR File Changer tool is now compatible with current SWTOR 64-bit)
- Introduction.
- Tools.
- For former users of the SWTOR 32-bit era's File Changer.
- Steps.
- Practical modding example.
- Common Issues.
- Player Character / NPC Body Type and Gender codes.
- How to try undoing SWTOR's characters materials' modernization.
SWTOR mods are purely cosmetic and only visible in the PC running the modded game (they are client-side).
At their simplest they are about altering the asset references information in the game so that it shows different existing models, textures, animations, etc. in place of the predetermined ones.
Altering the assets themselves (editing textures and meshes) is more complicated:
- Editing textures and putting them back in the game works to a certain extent.
- Sadly, we lack a way to export externally edited meshes back into the game, something that was possible in the past.
-
ExtracTOR: extracts the game assets from SWTOR's files.
Download - User guide -
SWTOR File Changer: the actual modding tool.
Download -
Jedipedia.net's SWTOR Database: helps identify assets to mod.
-
Settings.txt file follows the same format as before: you can just copy+paste your old one into this one.
-
Textures will need to be rescaled to the new resolutions: old files may not necessarily be compatible, best to use with modified files extracted from current game version.
-
Use ExtracTOR to extract all the game's assets stored in its TOR files: this will fill about 110 GB of storage space (it can be pared down to a fraction of that afterwards, depending on your modding aims).
-
Find the file name you want to replace (using Jedipedia's Database).
-
Find the file name you want to replace it with (using Jedipedia's Database).
-
Copy the file location path of the original existing model (OEM) file.
You can find the file location path in the Details section of the model's Jedipedia page. Hovering the cursor over the line without the "Material:" label will show a tooltip with the filepath relative to the resources folder that ExtracTOR produced.

-
Then copy the new replacing file to the 'files' folder.
-
Edit the settings.txt. The entries will look like this:
replace /resources/art/dynamic/creature/model/dino_huttisotope5_a02.gr2 dino_huttisotope5_a03.gr2replace /resources/art/shaders/materials/dino_huttisotope5_a02_v01.mat dino_huttisotope5_a03_v02.matThe scheme is:
replace /[path to OEM file to be replaced] [file name of replacing file](Use forward slashes "/" in filepaths instead of Windows backslashes).
gr2 is the model. Model files' locations depend on several factors.
mat is the material. mat files are always stored atresources/art/shaders/materials/. -
Save the .txt file, then open the SWTOR launcher and log in and allow it to download any Updates.
-
Before you hit PLAY, run this app as ADMINISTRATOR, then click "START CHANGING FILES". Once it's done, close the app, then hit PLAY.
RECOMMENDED: Keep a separate txt file of the mods you are doing with their entries and a description, should you ever need to figure out which is which.
ISO-5R (OEM, to be replaced)
- dino_huttisotope5_a02 (copy the file's PATH)
- Material: dino_huttisotope5_a02_v01 (copy the file's PATH)
GOLDEN FURY (replacing files)
- dino_huttisotope5_a03 (copy the file's name)
- Material: dino_huttisotope5_a03_v02 (copy the file's name)
replace /resources/art/dynamic/creature/model/dino_huttisotope5_a02.gr2 dino_huttisotope5_a03.gr2
replace /resources/art/shaders/materials/dino_huttisotope5_a02_v01.mat dino_huttisotope5_a03_v02.mat
-
SWTOR's Launcher needs to check all 43gb of assets: Unavoidable. It is what it is. Its not downloading anything new, just checks the files since they were last modified and sets them back to default. Run File Replacer after this is finished and the PLAY button is clickable.
-
C5 Startup Error: Seemingly unavoidable. If a mod causes this error, then it cannot be used in that exact way. Sometimes, changing the target file to something else MIGHT be a work around, not always.
"The C5 errors are because the replaced files cant be in the position they have been replaced in are the cause of errors." (Translated)
If you hit Start Changing Files more than once, you might encounter the C5 error.
-
NEVER USE ALT+F4 within the game when running, ALWAYS QUIT GAME FROM MENU. MAY CAUSE LOGIN ISSUES OTHERWISE.
-
If "Login Service Unavailable", log out and log back in. Should fix it. Otherwise, restart system.
-
SOMETIMES, C5 startup errors can sometimes pop up, but then disappear after a log-off.
-
"MISSING GRANNY" green blobs: Unavoidable. Model mismatch is too extreme?
-
"MISSING TEXTURE": A texture is missing. Ensure replacer file name is correct. If that doesn't fix it, it might just be broken.
-
Invisible body parts or model: the replacer file cannot be used to replace the OEM file in the way desired. Be sure that the OEM and Replacer armor have the same amount of "pieces" (Jedipedia). If not armor, then the replacement gr2 cannot be used in that way.
At times the object and material references in the game use the [bt] and [gen] wildcards to cover multiple body type and gender possibilities. The related codes are:
-
Body Types:
Female BT1: bfa: body female agile/athletic.
Female BT2: bfn: body female normal.
Female BT3: bfs: body female strong.
Female BT4: bfb: body female big.Male BT1: bma: body male agile/athletic.
Male BT2: bmn: body male normal.
Male BT3: bms: body male strong.
Male BT4: bmf: body male fat (remember, it is male bmf vs. female bfb). -
Genders:
Female: f.
Male: m.
Unisex: u (if the case happens to exist).
Examples of applying them:
-
This jacket model,
chest_jacket_[bt]_archetype.gr2
for a male with a body type 2 would be
chest_jacket_bmn_archetype.gr2 -
This jacket material,
chest_jacket_med_sm_tier_a02c01_[gen].mat
for a female body would be
chest_jacket_med_sm_tier_a02c01_f.mat
This method's success depends on having the character's former head object still exist in the current version of the game assets, as the modernization not only involved texture map updates but the removal of some of the head models, too.
It consists of replacing the current patch's head .mat file with the texture paths for _d, _n, _s, and _h from a version of the .mat file from the pre-modernization patch. This can be done in any text editor, such as NotePad or NotePad++.
Examples:
-
Current Day .mat file texture paths for head_human_bmn_caucasian_a02c01.mat
<semantic>DiffuseMap</semantic> <type>texture</type> <value>\art\dynamic\player_character\head\texture\___psd\modernization\head_human_bmn_caucasian_a02c01_d</value> <variable>art\dynamic\player_character\head\texture\___psd\modernization\head_human_caucasian_a02c01_m_d</variable> </input> <input> <semantic>RotationMap1</semantic> <type>texture</type> <value>\art\dynamic\player_character\head\texture\___psd\modernization\head_human_caucasian_a02c01_m_n</value> <variable></variable> </input> <input> <semantic>GlossMap</semantic> <type>texture</type> <value>\art\dynamic\player_character\head\texture\___psd\modernization\head_human_caucasian_a02c01_m_s</value> <variable></variable> </input> <input> <semantic>PaletteMap</semantic> <type>texture</type> <value>\art\dynamic\player_character\head\texture\___psd\modernization\head_human_caucasian_a02c01_m_h</value> <variable></variable> -
Old .mat file texture paths for head_human_bmn_caucasian_a02c01.mat
<semantic>DiffuseMap</semantic> <type>texture</type> <value>\art\dynamic\player_character\head\texture\___psd\head_human_caucasian_a02c01_m_d</value> <variable></variable> </input> <input> <semantic>RotationMap1</semantic> <type>texture</type> <value>\art\dynamic\player_character\head\texture\___psd\head_human_caucasian_a02c01_m_n</value> <variable></variable> </input> <input> <semantic>GlossMap</semantic> <type>texture</type> <value>\art\dynamic\player_character\head\texture\___psd\head_human_caucasian_a01c01_m_s</value> <variable></variable> </input> <input> <semantic>PaletteMap</semantic> <type>texture</type> <value>\art\dynamic\player_character\head\texture\___psd\head_human_caucasian_a02c01_m_h</value> <variable></variable>Save after editing.
File path for replacing would be:
/resources/art/shaders/materials/head_human_bmn_caucasian_a02c01.mat