XCOM 2
53 ratings
Long War of the Chosen Interoperability Guide
By SabaraOne
Unofficial guide to making mods work with Long War of the Chosen. Covers general tips and specific mods
2
   
Award
Favorite
Favorited
Unfavorite
Introduction
I see a lot of repeated discussions on the Long War of the Chosen Discord[discordapp.com] about "Does Mod X work with LWOTC?" (Mostly RPGO but I digress)

I like to think I'm pretty good at mashing mods together and making them at least pretend to work together, so I thought I'd share my wisdom on the matter.

First, check these lists:
  • LWOTC Mod Compatibility List:[docs.google.com] Not sure how often this gets updated, and it won't tell you much more than "Does it work if I just slap it in?", but it's something
  • LWOTC Compatibility Wiki:[github.com] A bit better. Still mostly just "Does it work if I slap it in?", but it's updated more often.

This guide will be divided first into general tips that'll work for any mod. Then it'll include more specific examples. Most of the theory stuff should be relevant to Vanilla LW2 as well.

For purposes of making things easier on myself, unless specified otherwise, LW, LW2, and LWOTC will be used interchangeably and all refer to Long War of the Chosen. Terms like LW2 Classic or Vanilla LW2 refer to the original Long War 2 for non-expansion XCOM 2

MAKE SURE TO BACK UP ANY EDITED INIS!!! If the mod that ini belongs to updates, you'll have to start over if you didn't back up. I suggest Winmerge because sometimes you want to keep some of those changes (i.e. When RPGO added the Random Class and Weapon Restrictions metadata.) Plus you'll need backups if you ever want to go back to Vanilla

DISCLAIMER: I'm not affiliated with LWOTC, I just hang out on the Discord a bit and am reasonably good at codewalking.
Tech and Item Tables
Long War 2 and LWOTC do a lot of things differently in code compaired to Vanilla XCOM 2 and WotC and this is my personal favorite. Instead of using UnrealScript to define an object's crafting recipie, it's done in an ini. Specifically XComLW_Overhaul.ini. These entries fall into two categories, Techs and Items. Techs control Proving Ground and Research projects while Items control building things in Engineering.

For purposes of this guide, I'll be using XComLW_Overhaul.ini and LW_Overhaul.ini interchangeably. All XCOM 2 INI files start with XCom___, so I may forget to add it.

Some notes on how LW2 handles items and schematics
In LWOTC, most items are first researched in the lab or proving ground, and can then be freely built in Engineering. In addition, upgrade schematics are gone. With the exception of a few mods like Rocket Launchers (Which specifically reenables its upgrade schematic), upgraded weapons, armor, grenades, etc. are built one at a time. You want five people to have laser rifles? You build four laser rifles plus the one laser rifle the Laser Weapons tech gave you. Now you need six laser rifles? Build one more.

Let's use the E.X.O. Suit as an example to show how techs and items work.

[LW_Overhaul.LWTemplateMods]
+TechTable=(TechTemplateName="ExoSuit", ProvingGround=false, ResearchPointCost=5500, ModPointsToCompleteOnly=false, PrereqTech1="PlatedArmor", PrereqTech2="", PrereqTech3="", SupplyCost=50, AlloyCost=10, CrystalCost=0, CoreCost=1, ReqItemTemplateName1="", ReqItemCost1=0, ReqItemTemplateName2="", ReqItemCost2=0, ItemGranted="HeavyPlatedArmor", RequiredScienceScore=20)

This is pretty big, so let's break it down:
  • [LW_Overhaul.LWTemplateMods] tells the game where to send this data. Include it at the to of your XComLW_Overhaul.ini so the game doesn't get confused and at best ignore it.
  • +TechTree tells the game what we're making. A research project, an item blueprint, or several other things we're not concerned with in this section.
  • TechTemplateName="ExoSuit" Tells the game what our tech template is named. I'm not sure if these can just be arbitrarily created to be honest, they might need to be made elsewhere to add pretty pictures and I know you'd need to go somewhere else to add localization text.
  • ProvingGround=false tells the game if this is a proving grounds project or a research project. The Battle Armor tech that leads to E.X.O. Armor and this entry points to is a research project. Incendiary Grenades for example is a proving ground project and it has ProvingGround=true. Pretty simple.
  • ResearchPointCost=5500 is how long the project takes to complete. I'm not completely sure how this works (Mostly because I haven't bothered to data mine that deep into the code) but what I do know is that bigger numbers research slower and having more engineers working your Proving Grounds or more scientists on the Avenger and not assigned to a facility (other than the Laboratory) or Haven makes it go faster.
  • ModPointsToCompleteOnly=false No clue, hope it's not important (If someone could tell me that'd be great)
  • PrereqTechX='PlatedArmor" Allows you to assign up to 3 prerequisite technologies. In this case the basic Combat (Plated) Armor technology. For Proving Grounds techs this usually points to an autopsy. Items also have this and they're linked to their Tech. We'll see that later.
  • {Supply,Alloy,Cristal,Core}Cost=X Tells the game how much of the basic resources you'll need to research the tech. In this case 50 Supplies, 10 Alien Alloys, no Elerium Crystals, and one Elerium Core.
  • RequiredTemplateNameX and RequiredCostX How many of a special item is needed. Usually corpses but a few might require something else (ex. The suppressor replication project requires a suppressor)
  • ItemGranted="HeavyPlatedArmor" Tells teh game that you get a free E.X.O. Suit upon completing the research. Does not tell the game to unlock making more suits later. We'll get to that in a minute.
  • RequiredScienceCost=20 Has to do with how many scientists you need. I want to say it's 5 per scientist plus 5 at the start, but I'm not certain of that. There's also a RequiredEngineeringScore which does exactly the same except requiring Engineers

Now that we've seen the tech, let's look at the crafting blueprint

+ItemTable=(ItemTemplateName="HeavyPlatedArmor", Slots=0, Starting=false, Infinite=false, Buildable=true, RequiredTech1="EXOSuit", RequiredTech2="", SupplyCost=60, AlloyCost=6, CrystalCost=1, CoreCost=0, SpecialItemTemplateName="", SpecialItemCost=0, TradingPostValue=20, RequiredEngineeringScore=20, Tier = 80, PointsToComplete=150)

A lot of this will look familiar, so I'll skip over the parts we've already seen

  • ItemTable Now we're looking at an Engineering recipe, not a tech recipe, so it's an item.
  • ItemTemplateName The item being given. The game doesn't call it an E.X.O suit internally, it calls it "HeavyPlatedArmor" and the localization files give it the pretty name and description.
  • Slots I'm pretty sure this is how many upgrade slots an item has. Mostly only applies to weapons unless you're playing with Grimy's, RPGO, or other mods that add upgrades to secondary weapons, utility items, and/or armor.
  • Starting Do you start the game withthe ability to build these? Things like grenades, conventional weapons, medkits, etc.
  • Infinite Should you have these in unlimited quantity? These two usually go together, but there are some things like Mark Zero Augments where you can build them from the start.
  • Buildable Can you build this? Generally the opposite of Starting (Except for things like PCSes)
  • RequiredTechX Remember how I said above that the Battle Armor tech gives an E.X.O. Suit but the TechTable doesn't unlock the ability to build them in Engineering? This is where that dangling pointer goes. If this makes any sense, techs don't unlock items, items declare what techs unlock them.
  • SpecialItemTemplateName and SpecialItemCost Same as RequiredTemplateNameX above. Usually corpses, but might also be something like Hunter weapons.
  • TradingPostValue How much it sells for at the black market.
  • Tier Sort order in the Engineering list. Cosmetic.
  • PointsToComplete I'm not certain of this, but I remember reading there's a way to make items in Engineering take time to build, so presumably this links into that.[/lst]
How to use Tech and Item Tables
There are a few ways to add items and techs to the game. I'll tell you about the three I use. That said, if it's a starting item the game will probably figure it out.

The Porting Method: Using the old version's tables

The easiest is to find an LW2 Classic version of whatever mod you're looking at and lifting its XComLW_Overhaul.ini. Let's use Biotic Class as an example. Its Biotic Amps are seperate from Psi Amps and thus require their own entries in the item table.
  1. Download both the [Vanilla] Biotic Class and the Biotic Class Redux for WotC.
  2. Open up each mod's Config folder and copy Vanilla Biotic class's LW_Overhaul.ini to Redux's Config folder. You can now delete vanilla Biotic Class (Or if you're like me keep it around because you might need it eventually).
  3. Load up LWOTC, unlock Psionics and Elerium Tech and boom, you unlock Advanced and Elerium Biotic Amps, and they'll cost identically to their Vanilla LW2 counterparts.

I've used this for Biotic Class and Katana Pack Reloaded and both times it worked perfectly.

But what if there isn't a Vanilla version of the mod? Well, now you have two options: Adaptation and Creation.

The Adaptation Method: Spreading it around

For this we'll use Supersoldiers's armors as an example. Each Supersoldier class (Counting the various N7s as a single class) have their own armor. They use the vanilla schematics to upgrade. Some upgrade when we unlock Predator/Warden (Medium armor), some with Spider/Wraith (Light), and some with E.X.O./W.A.R. (Heavy). So we'll have them unlock at the same time and cost the same amount as their normal brethren.

So for this we need three things. We need the base game armor entries for our Supersoldier LW_Overhaul.ini, which armors go with which "weight", and what their template names are. The first is a simple matter of finding the appropriate entries in LWOTC's LW_Overhaul and copying them into a new XComLW_Overhaul.ini in the Supersoldiers Config folder. Simple. The second and third are a wee bit more complex, but at least they happen at the same time.

  1. Maybe the armor classes are listed in config or descriptions somewhere? They weren't this time but it's worth a shot.
  2. Okay that didn't work, now what? Well now things get into true data mining territory. Don't worry, it's easy. Go into Supersoldier's folder (I cannot recommend using theAlternative Mod Launcher enough) and go looking in Src. In this case there are four folders, LW_Tuple, WOTCHeroPerks, XmodBase_Core_2_0_1, and XmodBase_Interfaces. The LW_Tuple and XMB files are everywhere, loads of mods use them. Basically ignore them. Go into the one that's left, then into its Classes folder.
  3. Armor files will look like X2Item_SomethingArmorRelated.uc. There are six, find them.
  4. In each armor file, you'll find three template declarations. Each template has two lines that are important to us. Template.setTemplateName('TemplateNameHere'); and Template.ArmorClass = '{light,medium,heavy}'
  5. Armed with our Template data, we now have everything we need to make some item table entries.

Start by using +UnlimitedItemsAdded="TemplateNameHere" in your Supersoldiers XComLW_Overhaul.ini to add all the Starting armors to the infinite pool. They should just magically work, but we can always cover ourselves. Next, replace the Predator/Spider/E.X.O./etc. entries in your file with the appropriate Supersoldier armors. Done, you've got upgradable armor!

I've seen reports that this doesn't work if you've alreaady unlocked required techs in your campaign, in that case you'll probably have to add the items via console or change the squaddie loadouts in your mod's XComGameData.ini to include them.

The Creation Method: That which has not been done before

It's really pretty much the same as the above except that this time you need to decide on your own what are appropriate values. How many Losts corpses does it take to make a Sub Sonic Grenade? How many alloys go into a deployable turret? How much Elerium do Jetpacks need? (Okay, maybe not that last one, its crafting works pretty well as-is). Here's a few tips.

  • How valuable is it? Valuable things should cost more.
  • What tech level is it? Later game items should cost more too. The Bomb variant of a grenade should cost more than its basic counterpart.
  • How much do similar items cost? If your Sub Sonic grenade costs four times as much as anything else, you're probably doing something wrong.
  • How valuable are the materials? One MEC corpse to make a grenade is fine. One Lost corpse to make a grenade... Probably not, they come in such large numbers.
RPG Overhaul
This is the big one everyone wants to know. Can I make RPGO and LWOTC play nice? And the answer is yes. It takes work, but yes. I'll tell you first about RPGO itself, and then consideration about specific specialization packs I know have issues.

RPGO

Skills cost 10 AP: LWOTC is overriding RPGO'smodification to AP. The best option is to disable LWOTC's overrides. Prevent it from disabling AP events (Flank shot, height advantage shot, etc.) by commenting out or deleting the line

MaxTacticalEventAbilityPointsPerBattle=0

in LWOTC's XComGameCore.ini. Restore RPGO's base cost for abilities and the Combat Intelligence boosts by doing the same to the groups of lines starting with AbilityPointCosts and BaseSoldierComIntBonuses in XComGameData.ini. While you're there you might also want to disable LWOTC's changes to HealSoldierProject_TimeScalar (How fast soldiers heal. RPGO has it faster than vanilla, LWOTC has it slower.)

These changes will reset after an LWOTC update. I suggest making backups of any ini you modify after you're done, then use a tool like WinMerge to make it easy to reapply the changes without holding back the rest of the file.

Secondaries are missing abilities: RPGO uses LW Secondary Weapons. LWSW applies base abilities like Stun and Holotarget to the weapons themselves, as opposed to LW2 which applies those abilities to the classes using them. Fortunately, Weapon Skin Replacer can handle this. Open LWSW's inis and find the bit where it lists abilities assigned to each weapon. Then open your WSR Config and add those abilities. Then restart XCOM. Here's the Arc Thrower to get you started

+GIVE_ABILITIES=(WEAPON_CAT=arcthrower, ABILITY=ArcthrowerStun)

While you're at it, I'd suggest removing Tracer Round's Holotargeting or Tracer Round ability, because having +10 or whatever aim and holotargeting is a bit broken. You could also do this with Ability Replacer or other similar mods, or using the OnPostTemplateCreation event without any additional prerequisite mods, but I know WSR works. I have an INI mod here[www.dropbox.com] that'll do all of this for you. It's installed and activated as a mod like LWOTC.

Infiltration % is missing in my armory after deploying a squad: RPGO is overriding LWOTC's Detailed Soldier Lists. Go into XComRPG.ini in RPGO and disable the DSS override near the top. Yes I know Mod Class overrides go in XComEngine.ini, trust me this one doesn't. Then restart XCOM.
Weapon attachments are wierd! Go into RPGO's MCM and disable all the stuff about attachments. Or go into LWOTC and disable its attachment modifications, but I'm not quite sure how to go about doing that second one.
Disable Any Class is an extra must: None of the PRGO specializations disable LWOTC's classes. You'll have to do it yourself.
The first Officer perk tree is full of normal abilities: RPGO's copy of New Promotion Screen by Default breaks Officers for some reason. Adding

.IgnoreClassNames=UIArmory_LWOfficerPromotion .IgnoreClassNames=UIArmory_LWOfficerPromotionItem

to RPGO's Config\RPGO_PromotionScreen\XComPromotionUIMod.ini's [XCOM2RPGOverhaul.PromotionScreenListener] section (at the bottom) fixes the problem, at least in the short term. More testing is needed to see for sure, but this is likely the solution.

Recent reports are that this might not be working anymore, but it's been a while since I tested RPGO/LWOTC myself, and to be honest, it'll probably be a while yet. I'll update once I have.
My soldiers can't equip SMGs Unlike LW2 Classic and the SMG Pack and variants, LWOTC designates the SMG as a separate category of weapon from assualt rifles. Go into RPGO's XComclassData.ini and add
+AllowedWeapons=(SlotType=eInvSlot_PrimaryWeapon, WeaponType="smg")
near the other allowed weapon designations. As an alternative you can use Open Class Weapon Restrictions to give every class with rifles accessto SMGs. OCWR's config has instructions on how to do something very similar.

Specializations

Even More Specializations
This one's a pain so get ready.
  • The perks are missing: Open EMS's XComRPG.ini and open find and replace. It's usually CTRL+H (No it doesn't make sense, roll with it). Replace every instance of LW2WOTC_RunAndGun with RunAndGun_LW. Then replace LW2WOTC_StreetSweeper with StreetSweeper2. Then replace LW2WOTC_TrenchGun with StreetSweeper. Make sure those last two are done in order. Then replace LW2WOTC_ with a blank. While you're at it consider adding LightningReflexes_LW to AdditionalRandomTraits, but that's just my opinion. Because you don't have LW Classes And Perks, EMS is trying to call out to perks that don't exist. You're redirecting it to the counterparts that LWOTC provides. Neat.
  • Go into XComPromotionUIMod.ini and make the same string of replacements. Now the perks will have the right costs.
  • Open both mods' XComLW_SoldierSkills.ini and do your best to copy LWOTC's values to EMS's file. They don't line up well and I don't want to provide specifics so this guide is still relevant when things inevidably change. The bits listed in EMS's SupportGrenade are listed in LWOTC under RapidDeployment. Make sure to remove the LW2WOTC_ from SlugShot at the bottom
  • There should be no need to rebuild soldiers or the like. I've made these changes live and had no problems a game restart couldn't fix.

    TacFor
  • Much less to do here. Go into XComRPG.ini and XComPromotionUIMod.ini and rmeove the four total LW2WOTC_ instances (Airdrop and RapidReaction). Done.

    Shadow Ops
  • Same as Tacfor with the addition of removing the prefixes from TandemWarheads and CombatEngineer in the CombatEngineer specialization. Replace Puppet Protocol with Full Override (PP is identical to FO except that it removed a mechanic that depended on LW2 Classic to function Capturing MECs for the Resistance)
Misc Mod Examples
I have Primary Secondaries and there's two entries for pistols and swords, which do I pick

Forget Primary Secondaries. Starting with LWOTC Dev build 21 (Or amybe 20, I can't remember offhand), LWOTC is based on the v21 highlander. True Primary Secondaries works now, and much better than the old version. Do yourself a favor and switch over.

LWOTC classes won't be able ot use primary secondaries out of the box, to fix this go into TPS's XComClassData.ini and either replace the LWOTC_ classes with LWS_, or make duplicates and change one set to LWS_. Make sure to back up the file in case TPS updates and overwrites the changes.

Enemies and Raider Factions
Thanks to the work of @InterventoR on the LWOTC Discord, we've got a good collection of enemies[drive.google.com] and Raider factions[drive.google.com] as drop-ins. Each of these has two folders meant to be dropped into LWOTC's config folder and the root of your XCOM 2 Steam Workshop folders. These modified configs add items and research techs, rebalance enemy stats, adjust the chances of sitreps appearing, and allow enemies without sitreps to spawn naturally in LWOTC's missions.

More detailed steps for instlalling these patches
  1. Download the patch rar, open it with WinRar, 7-zip, or whatever else you use to open rar archives.
  2. Ignore the folder tant starts with Blood & Tears, that's an old version. Open the one stargting with B&T
  3. In this folder, you'll see two folders and a file. Ignore the LongWarOfTheChosen folder. Open the Steam folder, it will contain a folder labeled steamapps
  4. Find the steam library you have XCOM 2 installed in. If you don't know what this is, it's probably C:\Program Files (x86)\Steam. It will have a folder called steamapps
  5. Read the file next to the Steam folder in the archive. That Readme lists required and supported mods.
  6. For the enemies patch, install ADVENT Hunter Restoration. For whatever reason he's not listed as a dependency in the readme, but he is one.
  7. Extract the steamapps folder from the archive into the Steam library. Assuming you've already installed the enemy/raider mods you want to use, you'll know it's working because it'll ask you about overwriting files. Do so.
  8. Done!

Highlander V21 Mods
There are three mods I know of that depend on the Beta v21 Highlander: Spark Arsenal, Damage Calculation Tweaks, and True Primary Secondaries. Unfortunately, LWOTC uses a forked version of the V20 Highlander. SPARK Arsenal uses it to adjust item slots, and has its own workaround. I direct you to its mod compatibility discussion. Sadly, DCT and TPS have essential features that depend on features in V21. Because Highlander mods are inherently incompatible, i.e. There can be only one (Hence the reference), and LWOTC is broken running on the Workshop Highlander, there are no workarounds for DCT and TPS short of simply waiting until LWOTC updates its Highlander. As of Dev build 17, it just can't be done.

Update your LWOTC build to Dev 20 or 21. You could probably also grab the highlander from Dev 21 and replace your older version but I haven't tested that.

Psi Overhaul V3
I haven't tested personally, but I'm reliably told it works. Some modification to the perk trees is needed to bring it in line with LWOTC's Psi tree, but most of that comes down to preference. I've got a suggested tree here[www.dropbox.com]. It is installed and activated just like LWOTC itself as a separate mod.

Operation Parallels (Doomslayer mod)
Doomslayer can't upgrade weapons (He depends on squad weapon upgrades that LWOTC removes), but I wrote a dirty hacked up patch that redirects them to new schematics with WSR, whitelists said schematics so they'll appear, and rebalances his weapons and mobility to match their LWOTC counterparts. I haven't gotten much feedback on if they work and haven't had a chance to test it myself though. The patch can be found here.[www.dropbox.com] It is a separate mod, installed like LWOTC.

Rocket Launchers 2.0
The Thermobaric and Plasma Ejector rockets are known to cause crashes. I'm told it's a bug in how LWOTC handles damage calculation but I'm not a good enough codewalker to find the issue. As a workaround you can disable these weapons by going into XComRockets.ini and disabling the T2 and 3 Thermobaric rockets and the Plasma Ejector (Set enabled=true to false). I don't want to give an ini because it'd be outdated as soon as the next update drops.
Changelog, Credits and Thanks
I'd like to thank everyone on #mod-compatibility and #lwotc-modding on the LWOTC Discord (Link in the introduction in case you missed it). In particular @martox, @Grobobobo, and @InterventoR (In no particular order) have done way more of this than I have and are a lot better at it.

If anyone else has mods they want to know about or suggestions for solutions, please tell me and I'll add them as soon as I can. Thanks for reading and I hope this helps!

EDIT on June 3, 2020: Added information on a proposed fix to the Officer problem on LWOTC, and added new information about Highlander 21 mods, corrected massive misinformation in Primary Secondaries's section, added sections for Doomslayer and Psi Overhaul, and added a link to an ini mod for RPGO's secondary weapons. Thanks to @Lord of the Nosehair for partial testing of the Officer fix.

EDIT on September 16, 2020: fixed some url tags and added some new and hopefully better instructions on installing the InterventoR patches.

EDIT on October 16, 2020: Added information on Rocket Launchers. Also fixed a typo in the Officer section of RPGO that completely broke the fix. Thanks to @Vulpes on the Discord for alerting me to the error.

EDIT on December 1, 2020: Updated the enemies patch link to the latest version

EDIT on May 11, 2021: Reworded part of the Even More Specializations subsection of RPGO. Thanks to @Hazarddex for bringing my attention to the vague statement
23 Comments
robot from the future 5 Aug, 2023 @ 9:36am 
life saver
marleymcfly 1 May, 2022 @ 10:59am 
Can I get help with "Infiltration % is missing in my armory after deploying a squad". I'm looking into that file in the instructions, but I don't see anything about DSS.
Bachou 1 Jul, 2021 @ 8:51am 
Doom operations parallels isnt working anymore, only upgrades cannon and shotgun - you know why's the case? perhaps something to do with weapon name changes in the lwotc? Thanks
SabaraOne  [author] 15 May, 2021 @ 8:17am 
For weapons it depends. If the weapons are cosmetic I'd suggest just using XSkin and calling it a day. If the weapon is actually a gameplay variant yes, it'll need rebalancing. I think ADVENT To Imperium would probably act badly since it overrides the base game AI, same as Long War does. It's probably possible in theory since ABA does it too but that's been patched to work but it's beyond my skill level.
Ruthlessbruh 15 May, 2021 @ 7:27am 
SabaraOne I have been searching everywhere for your guide thanks for the great work.
I wanted to know if its possible to use advent to imperium in lwotc. Also mod that add new weapons to my knowledge play nice with lwotc, would their be changes I would need to implement for the weapon mods but not for balance?
SabaraOne  [author] 11 May, 2021 @ 7:02pm 
Yeah, looking at it I didn't word that well. I mean change the specialization's values to match LWOTC. I'll reword it in the guide, thanks for bringing it to my atttention.
GrimAtrament 11 May, 2021 @ 4:40pm 
nvm found that out now i'm trying to figure out what you mean by "line everything up." its so vauge that i don't even know what i'm suppose to do.
Just A Woodchuck 25 Dec, 2020 @ 8:22am 
Gotcha, thanks for the help!
SabaraOne  [author] 25 Dec, 2020 @ 7:32am 
You can do it in LWOTC's XComClassData.ini (By setting NumInDeck and NumInForcedDeck for each class to 0), or you can use the Disable Any Class mod with Mod Config Menu to take them out of generation
Just A Woodchuck 24 Dec, 2020 @ 8:59pm 
Must be to stupid for this but for the RPGO part, I am disabling the LW classes, yes? If so, which file do I edit to do just that? Thanks for the guide also and sorry for the simple question.