Spec Ops: The Line

Spec Ops: The Line

112 ratings
How to Mod Spec Ops: The Line
By Yossarian the Assyrian
(UPDATED 10/8/25) With any text editor and an .ini file Encryptor/Decryptor, you can mod Spec Ops to change ally/enemy weapons, health values, and other settings! You can also use UPK Explorer to do texture modding and model swaps. Read on to learn more!
3
4
2
   
Award
Favorite
Favorited
Unfavorite
Getting Started
You will not need much to mod Spec Ops: The Line. Two programs are required: a text editor (like Notepad or Notepad++) and an .ini file encryptor/decryptor. You can download Rick's Decryptor/Encryptor here: https://drive.google.com/file/d/1ri8ju6x_IW_-Hqs_cqVZmqVUt-bz7UPz/view?usp=sharing.

The normal version of Notepad works fine for modding the .ini files, but if you would prefer to use Notepad++, you can download that here: https://notepad-plus-plus.org/.

If modding causes your game to experience problems, like the main menu not loading, you'll need to verify the integrity of the game files. This will restore Spec Ops to its unmodded state. This does not work for the files in My Documents/My Games/SpecOps-TheLine. Back those files up if you plan to alter them!

Later sections will require use of UPK Explorer[www.nexusmods.com] as well asBlender[www.blender.org]. Both are free programs.
Editing INI Files + Changing NPC Guns
You can find the .ini files for Spec Ops in Steam\steamapps\common\SpecOps_TheLine\SRGame\Config. By default, they are encrypted and will appear in a foreign language when opened.



To make them accessible, you will need to use these programs extracted from the .zip folder. All you need to do is drag an .ini file onto Gibbed.SpecOpsTheLine.IniDecrypt.exe, and it will be readable and editable.


You will see lines of code if the decryption is successful. From here, you can change whatever values you want to. Bear in mind that there is plenty I do not know about modding the game. I am not sure what will work if it is changed, or how the changes will pan out.


Let's start simple and give some different guns to enemies. How about we give the Insurgents (or Marauders, as the files call them) some better equipment?

Decrypt DefaultPawn.ini and open it up. Hit CTRL+F and search for "YPawn_MarauderAssault". It should take you down to the faction's weapon list.


The weapon list is included in the next section of the guide. For now, replace all primary weapons with "SRGame.YWeapon_AA12" and all secondary weapons with "SRGame.YWeapon_PythonElite". When you're done, the file should look something like this...


Now save the file and close Notepad. Drag the .ini file over Gibbed.SpecOpsTheLine.IniEncrypt.exe to encrypt it again. Paste it into the Config folder and replace the original DefaultPawn.ini file. The game will be able to read your modded file and give those enemies the new guns.



There we go! If you did everything right, you'll be facing down Insurgents with automatic shotguns. You can pick up an AA-12 and use it against them, too!
Weapon List
Here are all of the file names for Spec Ops: The Line's weapons. This includes guns that are exclusive to multiplayer or are not normally accessible.

Regular Weapon Names:
(These weapons will load no matter what level you are in.)
  • YWeapon_M4Carbine
  • YWeapon_SCAR
  • YWeapon_HnKUMP45
  • YWeapon_FNP90
  • YWeapon_MicroUzi
  • YWeapon_SAW
  • YWeapon_MilkorMGL
  • YWeapon_RPG
  • YWeapon_BenelliM1014
  • YWeapon_SawedOffShotgun
  • YWeapon_AA12
  • YWeapon_BarrettM99
  • YWeapon_SteyrElite
  • YWeapon_HK417
  • YWeapon_FAMAS
  • YWeapon_TAR21
  • YWeapon_AK47
  • YWeapon_DesertEagle50AE
  • YWeapon_M9A1
  • YWeapon_PythonElite

Multiplayer Weapon Names:
(I can't get these to load in singleplayer. Their names and ammo counts will appear if given to Walker, but the models and icons will not show up. This also applies to enemies and Adams/Lugo.)
  • YWeapon_TDIVector
  • YWeapon_MP7
  • YWeapon_AKS74u
  • YWeapon_Mossberg590A1
  • YWeapon_M110SniperSystem
  • YWeapon_MSG90
  • YWeapon_OTs14Groza
  • YWeapon_AK74
  • YWeapon_Glock18
  • YWeapon_SIGP220
  • YWeapon_FNP45

AI Weapon Names:
(These weapons are exclusively used by allied and enemy AI. Most of them just determine the fire rate for the individual weapon. The Knife is a strange exception: allies and enemies will shoot invisible bullets with it instead of charging you, and they will not drop it when killed.)
  • YWeapon_MicroUzi_Commando
  • YWeapon_SAW_Adams
  • YWeapon_MilkorMGL_AI
  • YWeapon_RPG_AI
  • YWeapon_SteyrElite_Lugo
  • YWeapon_Knife

Scripted Weapon Names:
(These weapons are used by turrets or in special sequences. Aside from the MilkorMGL, I do not think they work when given to anyone.)
  • YWeapon_MilkorMGL_Truckride
  • YWeapon_M2E2HMG
  • YWeapon_HumveeGun
  • YWeapon_HumveeGunDFA
  • YWeapon_TurretMiniGun
  • YWeapon_TurretMiniGunOnFlight
  • YWeapon_HeliGun
  • YWeapon_Mk47Striker
  • YWeapon_Mortar

Unusable Weapon Names:
(These do not load at all. DummyWeapon3 makes the screen appear black if put in a level.)
  • YWeapon_TestWeapon
  • YWeapon_DummyWeapon1
  • YWeapon_DummyWeapon2
  • YWeapon_DummyWeapon3

Giving different guns to Walker will only affect him in Chapter 1's intro. When he reaches the first encounter with the Insurgents, he will switch back to his usual M4A1 and M9. Adams and Lugo can use different weapons normally, but replacing Adams's shotgun may cause some glitches in door-breaching sequences. Having Adams and Lugo stealth-kill enemies will make them revert to their normal guns as well.
Altering Health Values
You can change the health values for Walker, his allies, and enemies in the DefaultPawn.ini file. You can also modify the health regeneration rate for characters along with other traits.



The stats for different characters and enemies are listed as...
  • SRGame.YPawn_Walker
  • SRGame.YPawn_Adams (chapters 1-12)
  • SRGame.YPawn_AdamsAlone (chapters 13-14)
  • SRGame.YPawn_Lugo
  • SRGame.YPawn_Enemy (regular 33rd enemies)
  • SRGame.YPawn_EnemyMarauder
  • SRGame.YPawn_EnemyElite
  • SRGame.YPawn_HeavyTrooper
  • SRGame.YPawn_Commando


Simply edit the values however you want them, making characters as overpowered or as weak as you want.

Note that this will only affect Combat Op difficulty. To change health values in other difficulties, you will need to modify DefaultPawnEasy.ini, DefaultPawnHard.ini, or DefaultPawnInsane.ini. These are for Walk on the Beach, Suicide Mission, and FUBAR difficulties respectively.
Changing Weapon Stats
To change how weapons work in Spec Ops, you need to edit the DefaultWeapons.ini and SRWeapons.ini files. DefaultWeapons.ini is only present in the Config folder of Spec Ops: The Line in Steamapps. The SRWeapons.ini file needs to be changed in two places: in Steam\steamapps\common\SpecOps_TheLine\SRGame\Config, and in Documents\My Games\SpecOps-TheLine\SRGame\Config.



(Pictured: an M9 with 10 bullets per magazine instead of 15, longer effective range, and higher damage per shot.)

If all of these files have been changed, then the weapon stats will correctly appear. Not changing one of them will cause the altered weapon stats to not show up properly. It is easiest to notice when changing magazine sizes or damage. You can adjust the effective range, whether a headshot causes an enemy's head to explode, how much ammo you get on pickup, and many other options for each gun!

Here is a semi-complete list of stats for the guns of Spec Ops. Special thanks to monoculusRift for sharing it in the comments!
https://docs.google.com/spreadsheets/d/1j-BNe3GeF3Dks4q42tkfbSNpVD1k1sWgoi1zDGm2LAk/edit


(Pictured: an AK-47 with 45 bullets per magazine being used to execute a 33rd soldier.)

Some weapon stats have straightforward names, like m_damage, but others deserve clearer explanations. Note that these can be added to weapons that don't include the stat by default.
  • m_refireInterval = Fire rate for the weapon.
  • m_refireIntervalAudio = Rate for the gunfire sound.
  • m_maxAmmoCount = Magazine size.
  • m_startAmmoCount = Ammo you start with when the gun is picked up; this usually matches the magazine size.
  • m_tacticalReloadEnabled = True gives the gun an extra bullet when you reload a partial magazine, while False makes the gun always reload to its normal magazine size. The .44 Magnum and M32 MGL have this set to False.
  • m_causeHeadshotSound = Plays a distinct sound when you shoot an enemy's head.
  • m_makesHeadExplode = Headshots blow up the enemy's head instead of just killing them.
  • m_alwaysRaised = The crosshair is always visible even when the gun isn't being aimed. This is used by the shotguns.
  • m_pawnSpeedModifier = Affects how fast or slow characters move with this weapon. Normal speed is 1. Anything below that slows the character, and anything higher than that makes the character faster.
  • m_maxWeaponRange = The farthest distance at which the gun can deal damage.
  • m_rangeOfMaxEfficiency = The farthest distance at which the gun will do its maximum damage.
  • m_oneHandWeapon = Does nothing. Weapons with this stat are always set to False.
  • m_refireType = Decides what the gun's fire mode is. This is used by Assault Rifles, SMGs, and the Glock 18. The options for this setting are straightforward: YRFT_SingleShot, YRFT_FireBursts, and YRFT_Automatic.
  • m_burstFireRounds = Sets how many bullets are shot from a single trigger pull from a burst-fire weapon.
  • m_burstRefireDelay = Sets how much time has to pass between shots of a burst-fire weapon.
  • m_doesSilencedShots = Sets whether the gun is considered silenced or not. True makes gunshots silenced, and False makes them normal and audible to enemies.
Menu and HUD Text Changes
Changing the way that guns, difficulties, and missions are named is fairly simple. You don't even need the ini decryptor/encryptor to do this! All you need to do is to edit the SRGame.INT files in 2 locations:
  • Steam\steamapps\common\SpecOps_TheLine\SRGame\Localization\INT
  • Documents\My Games\SpecOps-TheLine\SRGame\Localization\INT
From there, you can use CTRL+F to search for the text you want to change. Some names come up more than once, so you will need to change all instances of it on both files to make sure that your changes appear. Back up the version in My Games, as it will not be affected by verifying the game's files on Steam.



As an example, I will change the Normal difficulty to "Born Again," complete with a new description. Some other difficulty name/description changes can also be seen above.



There is also a lot of unused text in the files, including earlier mission descriptions and cut mode rules. You can ignore these pieces of text.
UPK Explorer and Modding
You can go further with modding Spec Ops using the program UPK Explorer. It allows you to open .upk file, extract textures, change which models are assigned to which characters in levels, and inject your own custom textures into the game!

You can download the program from Nexus Mods here: https://www.nexusmods.com/site/mods/587/?tab=logs

If you do not have an account with Nexus Mods, an alternate download link is below. Note that it is outdated compared to the most recent Nexus build: https://cdn.discordapp.com/attachments/833782014112956469/1128037667683176458/UPK_Explorer-587-2-0-2-0-1687283476.zip

To get started with UPK Explorer, start the program and choose the option to create a working folder. This is where textures will be extracted to, and where your custom textures will be imported from. Any folder works for this. When it is chosen, it should look something like this...


Exports are where extracted textures are placed. Imports are where you put textures you want to inject into the game.


From here, you should choose a .upk file from Spec Ops: The Line's Steam Folder. They can be found in Steam\steamapps\common\SpecOps_TheLine\SRGame\CookedPCConsole.


What you should do from here depends on your plans for the game. Do you want to extract its textures for your own use? Maybe you would want to edit a .upk file's model assignments? Or would you like to insert your own textures into a .upk file? The next few sections will cover each option.

Other Useful Info

Texture and model changes carry over between levels and level segments as long as you are playing the game in a single session. As an example, modifying the Insurgents to look like corpses in the first .upk file for Chapter 2 would affect ALL of Chapter 2 as well as Chapter 3 - as long as you continue playing from that point. Quitting the game after Chapter 2 and returning would make Chapter 3 appear normally.

Some characters, primarily cutscene-related ones, need all of their _K level files modified for their changes to appear properly, so remember that when modding characters like McPherson or Konrad. Not all models are rigged for the same functions, so you might need to use Blender to rename or assign bones to characters or guns.

In theory, you could reduce the amount of work needed by only changing the first appearance of an enemy type per level. Some levels have enemies show up later (like the 33rd only appearing after the halfway point of Chapter 4), so it isn't a perfect solution.



For reference, .upk files usually follow a specific naming convention. Files ending in _P contain Walker, Lugo, and Adams. Files ending in _K contain enemies, props, and other NPCs.

Here's a list of which level is tied to which .upk files:
  • SP_Desert = Initial chapters where you fight Insurgents (chapters 1 and 2).
  • SP_Atrium = Last battles with Insurgents, encounter with Agent Kastavin, first fights with 33rd (chapters 3 and 4).
  • SP_Gorge = Search for Agent Daniels, meeting Agent Gould (chapters 5 and 6).
  • SP_CityGate = Saving Gould, White Phosphorus level (chapters 7 and 8).
  • SP_Road = First talk with Konrad, sniper choice (chapter 9).
  • SP_StealingWater = Working with Agent Riggs (chapter 10).
  • SP_DollsHouse = The Mall (chapter 11).
  • SP_RadioMan = Tower battles, confrontation with Radioman (chapter 12).
  • SP_ShipsGraveyard = Post-crash, Walker reunites with Adams, civilian choice (chapter 13).
  • SP_Bridge = The Bridge (chapter 14).
  • SP_BurjDubai = Final level and choices (chapter 15).
  • SP_Epilogue = Epilogue chapter and choices.
UPK File Names and Meanings
Most of the UPK files in Spec Ops can be found in Steam\steamapps\common\SpecOps_TheLine\SRGame\CookedPCConsole. They're grouped together based on what role they serve, and knowing what they do will help you skip the unnecessary ones or get right to what you need.

File Prefixes in CookedPCConsole
  • AIFeedback - Contains data relating to voice lines and their triggers. The ones ending in _LOC_INT contain the actual voice lines; see my audio extraction guide for getting those out of the files.
  • CHn - Model and textures for a multiplayer customization part. Files listed as CHn_DM are for the Damned multiplayer faction, while CHn_EX are for the Exiles faction.
  • MP - Multiplayer map data.
  • PR01 - A model and textures for pre-order multiplayer customization content. It is also divided up by DM for the Damned and EX for the Exiles. It is not available by default, though the models can be imported into other UPK files, and you can unlock them using another guide.
  • SP - Singleplayer map data. The ones ending in _LOC_INT contain voice lines.
  • YGAMEINFO - Data for the various game modes and menus. The ones ending in _LOC_INT contain voice lines. They contain abbreviations of their own.
    --DM means Chaos Mode,
    --HD means Hold and Destroy,
    --OFFLINE means Uplink,
    --RP means Rally Point,
    --SP means Singleplayer,
    --SW means Spoils of War (unused),
    --TDM means Mutiny,
    --TE means Attrition, and
    --TESTMPUPLOAD just contains an unused model of an XM8.

SRGame is always loaded, no matter which mode you are playing. The multiplayer weapons appear in each mode's YGAMEINFO file, meaning that you will need to change all of those if you want to make a modded multiplayer weapon appear in all MP modes.

Startup_INT contains the HUD icons for Spec Ops, including its weapon icons, multiplayer icons, and mission objectives. Like SRGame, Startup_INT must be replaced for changes to appear; a copy cannot be placed in the DLC folder to make modified icons show up.
Texture Extracting and Replacing
You will need to download GIMP, an image-editing software, for part of this guide. Check out the website here: https://www.gimp.org/

The textures of Spec Ops: The Line are stored around its .upk files and used depending on what level you are in. The SRGame file (containing models and textures for singleplayer weapons) is always loaded regardless of where you are. Enemy textures have the same names across different files, and they sometimes carry over into different level segments.

To extract a texture, simply load a .upk file and pick a file to export. The textures are mostly broken up into 3 files, ending in _D, _N, or _S. You'll notice the most differences from changing the _D file.


For an example, here is the AA-12's weapon texture. Press the "Export DDS" button to extract it. When you check your Exports folder, you will find it there.


Here are the 3 main textures extracted into the Export folder. They most often end up in a subfolder called "PF_DXT1". You should create a folder with the same name in the Import folder, as that is where your custom textures will go.

To make sure that the game accepts your custom textures, you need to make sure it has the same name as before and the right minmaps. The latter is simple - load the texture into GIMP, select "Export As...", overwrite the existing file, and use the settings listed below to export it.


After you are done, place the custom texture in the PX_DXT1 folder in your Import folder. Open UPK Explorer and select the .upk file you need - SRGame, in this case - and go to the Inject Textures tab. If you did everything correctly, your custom texture should appear in the preview area. When you are ready, press the "Inject Textures and Save a Copy" button. This will create a copy of the .upk file with your custom textures. The program will tell you to close the current package.


You can edit other .upk packages or close UPK Explorer from here. Back up the original .upk file if you haven't already. After that, rename the copied .upk to match the original file name.

If all goes according to plan, your custom texture should appear in game!



Note that you can inject more than one texture at once, but this can only be done for one .upk file at a time.
Model Swaps with UPK Explorer
The models within .upk files can be swapped around if certain functions are present. This can mean giving the 33rd the models of civilians, turning cutscene characters into enemies, or swapping around allies and enemies. The important thing to remember is that these models MUST be in the same .upk file. Adding models from another .upk file is covered in the next section.


As a reminder, .upk files ending in _K often contain enemy/NPC/prop models, while .upk files ending in _P contain player/squad models. Models that end in _SK have skeleton animations and usually work when replacing enemies and NPCs. Lugo's hat is stored in the SRGame.upk file, so you will have to edit that if you want to replace or retexture it.


To get started, load up a file in UPK Explorer and go to the "Edit package" tab. Select the "Objects" tab and scroll through it. You're looking for data starting with Default that relates to the character you want to change. For our example, we will replace Walker and Adams with Lugo's model.


Go to SRAssets and find the data containing the m_charactermesh entry. This determines which model is assigned to which character. If the model exists in the .upk file, it can be used to replace another model. Click on the button with the 3 dots, scroll until you find Lugo's model, and select it.


When you are done, save your changes and close the package. You can edit other .upk packages or close UPK Explorer from here. Remember to back up the original file and rename the copied file to match the one it will be replacing!


If done right, you should be playing as Lugo and have Adams replaced with Lugo. The voice lines will not be changed, though.


Trying to replace a character model with another type of model (a prop, a static corpse without the _SK name, etc.) will instead make the Dummy Character appear. He is an all-blue, featureless man in a suit. He should still function as an ally or enemy, though, since he is rigged for animations.
Swapping Models Between .UPK Files
Through the process is more complicated, it is possible to replace models using different UPK files, like turning Lugo into the Radioman or adding Chapter 9's monorail to Chapter 1. This requires version 2.0.3.0 of UPK Explorer or better to pull off, so make sure you have the right build of it before continuing!

For an example, we will replace Walker with Konrad's model in Chapter 1.


First, click development at the bottom of UPK Explorer. After that, open YGAMEINFO_COOP_CONTENT_SF.upk.


Click EDIT PACKAGE at the top, then click on Objects then look for Konrad's model here.


Click Export on the top right above the model. That is Konrad's character mesh, basically his model. Go back to the Extract Textures tab and grab the 6 for Konrad.


(The bottom 6 there.)

Export those as DDS, as we will need those to replace Walker's. Open the SP_Desert01_p.upk file and look at Walker's textures, grab the names (or export them to get them), and convert and replace them with Konrad's 6 textures.


After doing this, click on Edit Package and direct your way to the MC_PLAYER mesh. This is Walker's model/character mesh.


Click IMPORT and find Konrad's mesh. The red text will appear because Konrad isn't Walker and is missing animations, so we will be taking Walker's. Missing ones appear red, so next to the box click the ... and add any of his faces in there. I just used FACE_THRO but any should be fine


Under Object References at the top, you will get 4 more red boxes.


The first one is EYES, so we need Walker's eye animations, so click the ... and then Export then find Walker's eyes under MC_EYES.


Do that for all 4, just find what its looking for on the left and replace it with the CH_PLAYER one
then click OK.


From there, choose SAVE COPY and you are done!


If you did everything right, Walker should appear as Konrad throughout all of Chapter 1! Some of his animations might appear a little odd due to their proportions being different, but he will function fine otherwise.
Useful Model Locations
Some character and gun models can only be found in certain .upk files. In case you want to extract these models or use them, the names of these useful .upk files are included below.
  • Lobby.upk - Beta gun models (417, AA-12 AK-47, RPG, TAR-21, UMP-45, and W1300)
  • SP_Atrium02_06_K.upk - 33rd soldiers, Agent Kastavin, Lt. McPherson
  • SP_Bridge_03_FireRoom.upk - Male and female burnt corpses
  • SP_BurjDubai_01_K.upk - Zulu Squad officer, medium 33rd soldier without helmet
  • SP_BurjDubai_SEQ_175_Body.upk - John Konrad, Konrad's corpse with uniform jacket
  • SP_CityGate01_01c_K.upk - Insurgents, Insurgent corpse, 33rd soldiers, 33rd headgear, Heavy Trooper
  • SP_CityGate01_Sandboarding_SEQ.upk - SCAR without grenade launcher, 33rd Interrogator
  • SP_CityGate02_03_K.upk - Dying white phosphorus 33rd corpses
  • SP_CityGate02_04_CS.upk - White phosphorus civilian corpses
  • SP_Desert01_273_Death.upk - Dying African-American 33rd soldier
  • SP_Desert01_132_Looters.upk - Dead 33rd soldier with slit throat
  • SP_Desert02_A_K.upk - Insurgents, M2 Browning HMG, Crow
  • SP_DollsHouse_01b_K.upk - Burnt Agent Riggs, multiple male civilians, one female civlian
  • SP_Epilogue_SEQ_140_WL.upk - Falcon One marines, dying Falcon One soldier, Walker in Konrad's uniform, Walker's radio
  • SP_Gorge01_03_K.upk - 33rd Sniper, Bayonet Runner, Bayonet Runner headgear
  • SP_Gorge02_03_360_Daniels.upk - Agent Gould, The Radioman, Agent Daniels' corpse
  • SP_RadioMan02_03a_K.upk - Beaten and unmasked 33rd Sniper
  • SP_RadioMan02_05_K.upk - Chopper Minigun
  • SP_Road_SEQ_130_Judgement.upk - Hanging civilian and soldier
  • SP_SEQ_m11_0130_Lugo.upk - Hanging Lugo, multiple male and female civilians
  • SP_ShipsGraveyard_dream.upk - Fari's corpse, wounded Agent Gould
  • SP_ShipsGraveyard_01_K.upk - Zulu Squad soldiers, Medium 33rd soldiers, Heavy Trooper
  • SP_StealingWater01_Riggs.upk - Agent Riggs


You can also extract the co-op character models, though these are located in their own folder. You can extract them from the .upk files in Steam\steamapps\common\SpecOps_TheLine\SRGame\DLC\PCConsole\DLC1.
  • COOP-Garage_P.upk - Tactical solder, Heavy soldier
  • COOP-GorgeTop_P.upk - Sunglasses and mask soldier, Scavenger soldier
  • COOP-SGY_P.upk - Fremen soldier, Hunter soldier


Multiplayer outfits can also be extracted, but their lack their own head models. They still work as character replacements, but they will appear with empty spaces where their custom heads would be.

They are located in the CHn and PR01 files in CookedPCConsole. CHn are default heads and bodies, while PR01 are the FUBAR Pack heads and bodies. CHn_DM refers to the Damned, while CHn_EX refers to the Exiles. CHn_DM_cm_hd01_mat01_SF, for example, is a head for the Damned that can be used by any class. PR01_EX_gn_l_sk1_SF, meanwhile, is a pre-order body for the Exiles Gunner.

Unstable Models
Not every model can perfectly take the place of another. From my experiences, these models have issues when they are replacing something or being replaced. The specific issues are listed with the model.


Crowd Civilians
  • CH_CROWD_MALE_001
  • CH_Civilian_Male_02.CH_Civilian_Male02_crowd
  • CH_Civilian_Female_04.CH_Civilian_Female_04_crowd


Most of the civilians in Spec Ops work fine as player characters, NPCs, or enemies. The Crowd variants are meant to be hidden away in scripted sequences, fleshing out the numbers of a scene without stressing the engine. They stretch out when killed and struggle to correctly fire their weapons. They also have the chance to crash the game when used outside of their usual appearances.


Daniels' Corpse
  • CH_CORPSE_Electrocuted_SK

Daniels can move around and animate when his body replaces another character. However, that's the best you can get out of him. He can't aim or properly fire weapons, and the chance of his model crashing the game is pretty strong.


Heavy Troopers
  • CH_ENEMY_KONRAD_HEAVY_SK

The best you can do is replace the textures of a Heavy Trooper. Replacing its model will crash the game as soon as the level loads. Trying to use its model to replace another character causes the same crash. Maybe it has something to do with their helmet model or bones? Regardless, they should be left alone.


Bayonet Runners
  • CH_ENEMY_KONRAD_COMMANDO_SK

Bayonet Runners mostly work well when they replace your character or another character. Trying to replace them will cause a crash as soon as they load. This is likely due to their unique leg-rolling bones, which other models in Spec Ops do not have.
Combining Multiplayer Bodies and Heads in Blender
We're getting into more advanced territory with this part of the guide! It's worth learning, since you can do a LOT with the multiplayer bodies and heads of Spec Ops. You can even combine heads and bodies from different classes or factions!

Make sure you have Blender[www.blender.org] downloaded and installed. After this, you should install the addon[extensions.blender.org] to let Blender handle .psk files. To install the addon, place its folder in Blender Foundation\Blender 4.5\4.5\scripts\addons.

Blender can be intimidating, but this process is less complex than it seems. I'll guide you through it!

To start, export a body and a head from the CHn and/or PR01 files of Spec Ops. Use UPK Explorer to export them as FBX files.


Once you have started up Blender, select the option for a General scene. Delete the camera, cube, and light from the scene.


From there, go to File - Import - FBX (.fbx). Do not select the experimental FBX import. Select both the head model and the body model to import.


If you did it correctly, your screen should look like this. Blender places the head and body in the correct places, so you don't have to worry about adjusting their placements! They're still counted as separate objects, though. Time to combine them!


Click the body to select it. Hold Shift and select the head. If you did it right, both should be highlighted, though the head will be a different shade of orange.


Go to the Object menu and select Join. You can also hit Ctrl + J for the same effect. If you did it right, they will now be highlighted in the same shade of orange!


We're not done yet - now both models need to be assigned to the same animation rig. Click on the blue wrench icon on the right menu, which handles Modifiers.


The model's Object will already have an entry. Click the X next to it to clear that text. After that, click the eyedropper to be able to choose a rig.


Bring your mouse over the grey circles around the model. These are its bones, and they are all connected to one root. When you hover over a circle that says Root, and not Root.01 or anything like that, click it to assign the combined model to that rig.



All that remains is to export your new FBX file! The settings shown in the above image should work for most FBX files being imported into Spec Ops: The Line. Make sure to save your project after exporting the FBX file for the combined model!


You can import your characters as enemies, squad members, or other NPCs. Make sure to import them as-is instead of updating their mesh or morphing them. Doing so can create visual issues.

The body model will have a grey uniform by default. You can customize this by exporting the in-game camo options (the M texture file shows which parts of the armor get affected) or by coloring it yourself. I've given this character a custom paint job to resemble Half-Life's HECU.



Some assorted advice with this sort of modding:
  • Multiplayer bodies are divided by faction, class, and weight. The Damned and Exiles have their own bodies. Bodies have different designs for Gunners, Medics, Breachers, Scavengers, Officers, and Snipers. There are also 5 bodies for each weight: H, L, M, and N.
  • Most bodies of the same weight use the same texture - the big difference is in the gear they carry,
  • Most heads have alternate texture sets labeled as mat02 or mat03. These use the same models as mat01, just with more colorful or unique textures.
  • If their head textures appear black for Walker, Adams, or Lugo, replace the textures of their eye model instead of their head to make it appear correctly.
  • This will take at least 2 texture sets to work per model. Enemies usually have less textures to work with. You can either reuse the same model for enemies to give yourself extra texture sets, or you could import entire materials packages from other parts of the game to make room.
  • It can be tedious to extract all of the models and their materials. Fortunately, modder ZakisBak has an archive of the heads, bodies, and textures on NexusMods for easy access! You can find it here: https://www.nexusmods.com/specopstheline/mods/34
Changing the Player's Starting Weapons
Aside from Chapter 1, the player's starting weapons are set via data in a level's first _K file. In co-op, it's in the level's _P file, where the player models are also located.



You need to edit the section "YSeqAct_ModifyArsenal" in the _P file. It can be found under "TheWorld" then "PersistentLevel" and then "MainSequence". The number after ModifyArsenal varies depending on which character is being given weapons and when it happens.


You can add weapons that aren't normally in the level, including the Bayonet Runner's Knife! This can be done in campaign and in co-op. Sadly, multiplayer-exclusive weapons still won't work.

Creating a Removable Mod Folder
Spec Ops is set up to prioritize UPK files in a specific part of the game's directory. The UPK files placed there will be loaded in place of the main game's files and can be removed along with the folder. Setting this mod folder up will make it so you won't have to constantly overwrite the main game's UPK files!

The folder should be created in Steam\steamapps\common\SpecOps_TheLine\SRGame\DLC\PCConsole\DLC1. You can name it anything - as an example, I used the name of my mod Eternal Penance for this folder.



Almost any UPK files can be placed in here, and they will be loaded instead of the regular files in Steam\steamapps\common\SpecOps_TheLine\SRGame\CookedPCConsole. However, the SRGame.upk file will not work in this folder. You have to overwrite the version in CookedPCConsole for the changes to load.
Quirks of Each Faction
The various enemies and characters you encounter in Spec Ops have different attributes that can make them easier or tougher to mod. Let's go over each one and check out their pros and cons!

Insurgents/Refugees

  • The Insurgents have 6 models in total.
  • They have unique textures applied to their models that are designed to give them clothing variety. It looks fine on their own models, but it can look strange on other models (like Civilians). One solution is to give the replacement models darker textures, as the new colors won't appear as much that way.
  • The 6th Insurgent model has a wounded variant seen in Chapter 7.
  • The 2nd Insurgent's model is used for Fari in Chapter 3.

Regular 33rd Enemies

  • The standard 33rd enemies have 5 models in total.
  • They wear a combination of different headgear: a headset, sunglasses, a cowboy hat, a baseball cap, and/or a patrol hat. These fit some models but not others, so keep that in mind or replace the headgear models when changing them.
  • The 5th soldier's body is used for the Interrogator in Chapter 7.
  • They have special wounded models used after Chapter 8's mortar scene.

Medium 33rd Enemies

  • Medium 33rd enemies have 3 models in total.
  • A unique Medium enemy without a helmet can be seen in Chapter 15, but he never appears in combat or outside of that scene.

Zulu Squad

  • Zulu Squad enemies have 4 models in total.
  • The bald Officer seen in Chapter 14's outro and Chapter 15 uses the regular Zulu Squad model for his body.

Falcon One

  • Falcon One enemies have 2 models in total.
  • They have a special wounded variant that appears in the ending where Walker kills the rescue team.

Special Units

  • Bayonet Runners have 4 pieces of headgear: a mohawk, a headset, sunglasses, and a beret.
  • The Sniper's model is also used for 33rd enemies with RPGs and Grenade Launchers.
  • Heavies have visors that can take damage and break from multiple gunshots.

Civilians

  • Female Civilians have 4 models, not counting crowd or cinematic variants.
  • Male Civilians have 6 models, not counting crowd or cinematic variants.
Useful Modding Tricks
Here are some assorted tips and tricks for getting around shortcomings in modding!
  • Lugo, the regular 33rd enemies, and Bayonet Runners wear different cosmetic items separate from their models. They appear as StaticMesh files. If you want to remove some hats from the rotation, or make them entirely hatless, you can replace them with the bullet casing StaticMesh!
    Replace the hat or cosmetic item with this item. It is small, hard to notice, and usually placed inside of the character model. It effectively lets you hide any cosmetic item you want! It's perfect if you want to change these characters' models to something that doesn't work well with their cosmetics.

  • You can also use the bullet casing StaticMesh to "hide" level items that you don't want to draw attention to. For example, you can make Chapter 8's burned refugee camp free of civilian casualties this way! All their corpse objects are StaticMesh items and can be replaced the same way.
Debug Modes
DAMAGE DEBUG MODE

You can activate the debug mode for damage notifications in DefaultGame.ini by setting m_debugMode to true instead of false. This will let you know how much health Walker has, how much damage he has taken, and where the damage is coming from.



When activated in-game, it looks like this:






UI DEBUG MODE

The user interface for Spec Ops has a debug mode of its own. It doesn't do much outside of show you the coordinates for your mouse and what each selectable item does. It also keeps the mouse visible during gameplay.



Go to DefaultUI.ini and set bRenderDebugInfo to true instead of false. This will enable the UI debug mode. It looks like this when it is active:

Cut Content and Strange Stuff in Spec Ops' Files
In my time reading through and editing the game's files, I have found unusual things that could not be explained. Some of this is speculation and conjecture on my part based on clues left behind in the game files. I'll list these oddities below:

SHIPWRECK AND FORECLOSURE MAPS

These two multiplayer maps were featured in a console-exclusive beta, but they are not in the final version of the game (as far as I know). There are still plenty of references to them, with Shipwreck being called "Tanker" and Foreclosure being called "Tower".



They were clearly finished enough to be featured in the multiplayer beta for the game, but I haven't found their map files in the final release. Their loading screens are still present in the Movies folder, though!




CHILD CIVILIANS

In addition to male and female civilians seen in-game, there is a reference to child civilians being in Spec Ops. There are signs of children formerly being around the refugee camps in chapter 4, and a burnt child appears after the White Phosphorus bombing in chapter 8, but none others directly appear in-game.




HORDE MODE

There are lots of references to a "Horde Mode" scattered throughout the .ini files. It is unclear whether it is another name for an existing mode or a cut survival-based mode. Judging by what I've found, it would involve Walker, Adams, Lugo, and Riggs fighting off enemies.





I have not found a way to enable the mode so far. There is also a reference to a level called "HordeCity" among the level names. Whether it was was cut before completion, or if it was made but scrapped like Foreclosure and Shipwreck, is unknown.




"JIM" MULTIPLAYER KIT

For some reason, a kit option called "Jim" for the Exiles Gunner was completed but made unobtainable. The developers noted that it wasn't being used anymore in the game's code.



The model and textures apparently still exist in the game. You can actually restore this kit by modifying the DefaultGame.ini file!



https://steamcommunity.com/sharedfiles/filedetails/?id=2830097187


THE MISSING FLAMETHROWER

In pre-release footage for Spec Ops, Walker can be seen using a Flamethrower. Unlike the AUG in the game's CGI trailer, this appeared to be used in normal gameplay. The development team also made models for a Heavy Trooper that would use a Flamethrower[www.artstation.com] for a DLC that never got released.





There are some references to it in the SRGame.int localization file. In particular, there are lines mentioning a regular version and an AI version.




OTHER UNUSED GUNS

The SRGame.int file lists a number of unused guns that, as far as I know, aren't present in the final game. Here are all the entries that I know of:
  • [YWeapon_HuntingRifle]
    m_ammoName=Hunting Rifle Ammo
    m_weaponName=Hunting Rifle
  • [YWeapon_AT4]
    m_ammoName=AT4 Ammo
    m_weaponName=AT4
  • [YWeapon_Machinegun]
    m_ammoName=MG Ammo
    m_weaponName=PKM A Machinegun
The AT4 is an American rocket launcher, and the PKM is a Russian general purpose machine gun.




EXODUS CO-OP CAMPAIGN

In SRGame.int, there are tons of references to a co-op campaign called "Exodus," where you would play as Grey Fox before Delta arrived in Dubai. There are mentions of leaderboards, level names, and a basic story outline to follow!




MISSING MULTIPLAYER MODES

There are several cut multiplayer modes referenced in the game files, some of which got far enough along to have their own .upk files in the final game! Their descriptions remain in the localization files, so we can know for sure what they were about. They are called Spoils of War, Offline, Chopper Attack, and Special Delivery. Modified versions of the modes would have been available as NoPerks and Hardcore.



You can get Special Delivery to load in the menu, but picking them will crash the game. You can also spawn into a Spoils of War game, but none of the loot items will load. The Radioman will use his unique announcer lines for the cut mode, though!


Who knows, maybe these modes could be restored someday with enough edits to the .ini and .upk files of the game...
Downloading Mods
If you want to give Spec Ops some more variety, check out the ModDB page for the game! https://www.moddb.com/games/spec-ops-the-line

You can also find mods for Spec Ops: The Line on Nexus Mods!
https://www.nexusmods.com/specopstheline

Closing Notes
This is still unfamiliar territory for me. Any insight you all can provide on modding this game would be greatly appreciated! Spec Ops seems like a ripe opportunity for modding, and I hope this guide brings more attention to the fact that it can be modified to some degree.
102 Comments
Yossarian the Assyrian  [author] 13 Nov @ 4:30pm 
I'm just glad people still play and fondly remember Spec Ops. It's a rare gem of a game! The tools available for modding it have given it even more replay value for me.
Chorizeante 935 13 Nov @ 3:59pm 
You're the top 1 redditor from the spec ops subreddit. I want to thank you for all your work, really, it keeps the community alive!
Yossarian the Assyrian  [author] 4 Oct @ 4:53pm 
Hey, thanks! That will be a really useful resource for players. It's a tedious thing to extract them all.
iZak 4 Oct @ 3:07pm 
I uploaded all of the MP models in .fbx on Nexusmods.
Yossarian the Assyrian  [author] 30 Sep @ 7:46pm 
Good to know! I'll need to look into that as an option for modding.
Uhzu 30 Sep @ 6:51pm 
After a lot of trail and error. I figured it out. Game seems to handle higher textures pretty well. I think TFCInstaller is the way to go if your doing massive changes across the game.
Yossarian the Assyrian  [author] 30 Sep @ 6:39pm 
I don't have experience with TFCInstaller, unfortunately. I know that the modder who made a Ryan Gosling skin for Walker used TFCInstaller, so maybe he can help? His mod is on Nexus.
Uhzu 30 Sep @ 5:32pm 
To clarify, I'm talking about importing textures into the game. I use custom made upscaler for older games. If you want to see my results look at Days Gone on Nexus. This game has terrible textures with environment art. I think TFCInstaller works for importing. I can't find the option in your guide with the new updated software.
Yossarian the Assyrian  [author] 30 Sep @ 4:12pm 
You have to apply them yourself using an image editing software, as far as I can tell.
iZak 30 Sep @ 3:17pm 
How do I change the color of a MP body? I'm confused on the "export the in-game camo options part".