Total War: WARHAMMER

Total War: WARHAMMER

211 ratings
Getting Started - Modding for Newbies
By Caligula
Welcome!
This guide will aim to teach you the very basics of how modding works, primarily through the use of the Assembly Kit and the Pack File Manager. Before we begin, I'd like to reassure you that modding truly is easy. The skills it requires are an ability to problem solve, determination and being able to commit time to a project. Not all of modding is easy sailing however, you may come up against roadblocks that consume hours of your time, until you inevitably tweak a single value and it all starts working perfectly. I'd suggest networking, and not feeling afraid to add fellow modders and ask questions if you're stuck. We're pretty much all fairly friendly and will help as best we can if we can. If you have a network of people to turn to, the struggles you run into are less and everything goes more smoothly.

Creative Assembly's "Total War" series has quite a huge degree of moddability. At the moment you can add unit stats, animations, UI, text files, campaign starting positions, add new units, add entirely new features and gamemodes, and much much more. Hopefully the ability to import custom models into the game, battle map creation and additional areas of modding will become available in the future as Creative Assembly releases the tools to do so. Now to the actual guide...
2
2
2
   
Award
Favorite
Favorited
Unfavorite
I: Getting Started
Before you can hop into the realm of modding and start creating your brave new world of Warhammer tweaks and balances, you will require a few tools.

First and foremost amongst them, the Total War: Warhammer Pack File Manager. This will be your main tool with which to create and fix your mods.
http://www.twcenter.net/forums/showthread.php?730823-PFM-4-0-Warhammer-support

The second tool every modder needs before adventuring into the wild is the Assembly Kit. To download this you need a Steam account. Go to Library – Tools and download “Total War: Warhammer – Assembly Kit BETA”.

A third tool you’ll need is Notepad++ or an equivalent.
https://notepad-plus-plus.org/download/v6.9.2.html

Finally, you’ll also need a computer art editing thing such as paint.net, gimp or Photoshop depending on which tool you prefer and how artistic you want to be.
II: How the Pack File Manager Works
The Pack File Manager, hereafter known as “PFM” is the tool you’ll be using most often. Here you can edit most tables in the game, and even those which are Assembly Kit only will require PFM for a little bit of polishing.
When you first install it, you’ll be asked to direct it to your installations of any Total War games you own.

Firstly, open it up. Click the “Game” button at the top, and ensure its set to TWH (Total War Warhammer).
After this, click File – Open CA Pack. Here you can see all the mods and vanilla files you have installed. Open data.pack. This includes most of the base game files, from unit stats to animation sequences to UI.
The “db” subtable is where most of the information is stored, this is the database.
Open “db” and then feel free to look through a couple of tables. After you’ve done that, got to land_units_tables. Total War Warhammer has data__ch_ files and data__core files, standing for Chaos Warriors DLC and vanilla files. (I assume people who don’t own the DLC will only have data__core files).
land_units_table is filled with stuff concerning units such as their stats, UI group, animations, description and more. You will notice you can’t edit these files, because they’re a Read Only file.

We’re now going to make a mod that edits the stats of Karl Franz, Elector Count of Reikland and Prince of Altdorf.
Click the button File – New at the top. This will create a blank mod for you.
Now right click anywhere in the white area on the left of the screen, and click Add – From Pack.
It should automatically navigate to where you have Warhammer installed, but if not do that (eg C:\Program Files (x86)\Steam\steamapps\common\Total War WARHAMMER\data).
Select the data.pack, expand it and expand the db table. Scroll down to land_units_tables and right click on it. A message will say “db/land_units_tables/data__core added” on the little window. Click OK.
Scroll down to “wh_main_emp_cha_karl_franz_0”. This is the base Karl Franz. Numbers 1 to 4 are Karl Franz upon his trusty mounts such as Deathclaw.
Scroll across until you come to morale, and it to 200.

Lets change Karl Franz’s ingame name as well.
Again you have to right click anywhere in the white area on the left of the screen, and click Add – From Pack.
Select local_en.pack (I don’t know what the file name will be for people with foreign language versions of Warhammer, sorry). Expand the text table, db table and then double left click on land_units__core.loc
Select this table in PFM, and click the Tag row at the top. This will order them alphabetically.
Now search for “land_units_onscreen_name_wh_main_emp_cha_karl_franz_0” and change the localized string to whatever you wish, such as “Memes Xtreme”.

We will quickly do a bit of mod polishing here. Click the Postprocess button – Rename – Rename All and add a prefix to your mod, such as “your_name_”. Mine is “caligula_tutorial_”.

Y’know what? Lets change Karl Franz’s unit card as well.
If Karl Franz were a normal unit, and not a lord then you would go to data.pack – ui – units – icons.
As he is a Legendary Lord however, do the ol’ Add – From Pack thing, and go to data.pack – ui – portraits – units – emp_ch_karl_0.png
Now the way I edit UI or variantmeshdefinitons (we’ll get to them in a bit), is to extract them to a folder on my desktop. So now, create a random folder somewhere, right click on the ui file in your mod, and click Extract – Extract Selected, and put it in the folder you made.
Now you can easily edit it there.
Once you’ve edited the unit card to your pleasing, go to the ui folder. (Eg I extracted my file to a file called “Tutorial”, and so I’m going to C:\Users\James\Desktop\Tutorial\ui
Go back to your mod, and make sure you click on the root folder, eg tutorial_mod.pack. Then right click Add – Directory and copy and paste that directory in. Your edited Karl Franz icon will now be in the mod.
III: Polishing Your Mod/Compatibility
All mod makers should aim for maximum compatibility with their mods. This ensures that you’re giving the mod the best chance to work with other people’s mods as well.
For our mod, to do this we’ll delete all files that we’re not actually using.
For example, go to land_units_table and delete all rows except wh_main_emp_cha_karl_franz_0.
To do this, click on the number of the row, hold down shift and click on end row you want to delete and it’ll highlight all of the ones inbetween. Just delete em.
Do the same with text – db – land_units__core.loc.
Only keep land_units_concealed_name_wh_main_emp_cha_karl_franz_0 and land_units_onscreen_name_wh_main_emp_cha_karl_franz_0.

Before you leave, make sure every table except UI stuff has a prefix, such as “your_name_”. This ensures that your mod overrides vanilla to the extent of the work you did, and means mods can work together well. If you're making a large mod that creates a lot of units or edits a lot of factions, I like to split the tables up by factions as shown below. It also helps if you're making a mod with another person, as your tables can easily be put together.

Save your mod, and test it out.
IV: The Assembly Kit
Now we’re going to use the Assembly Kit, which can edit a wider variety of tables than PFM.
First up, launch it and on the top toolbar click Tools – DAVE.
Clicking View – Table Launcher will open up a window which most of the tables in the game. If you edit one table, you may notice that you’ve ended up editing multiple as they’re all tied together pretty much.
We’re going to add new units to Meme Xtreme, our beloved Legendary Lord. In the window, type “start_pos_starting_general”. Click on “start_pos_starting_general_options”. Here you’ll see a list of the Legendary Lords. Take note that Karl Franz is ID 10.
Now close that window, and go to “start_pos_starting_general_option_additional_units”. Click on the second column “general”, to sort by it.
In the top right hand corner, click the button “Add Record”. This will create a custom unique ID (at the moment of writing, only the Assembly Kit can create IDs that work). For the general column add the value “10”, and for the unit column add wh_main_emp_veh_steam_tank.
Lets also change the name of the Steam Tank. To do this, type “land_units” in the search window.

Now click Apply and Close in the top right hand corner. After this, click Export – Export Changes to Binary. Once the window at the bottom says “Export successful” feel free to close Tweak.

If we were editing a non-startpos file, the exported table would appear in C:\Program Files (x86)\Steam\steamapps\common\Total War WARHAMMER\assembly_kit\working_data. You would then copy the directory, right click in PFM and click Add – Directory and paste the directory in there, eg C:\Program Files (x86)\Steam\steamapps\common\Total War WARHAMMER\assembly_kit\working_data\db
V: Variantmeshdefinitions
So we’re nearly finished, now you just have to learn what variantmesh definitions are.
A unit is made up of variantmeshes, such as armour/cloaks/helmets/ect. These are put together in a text file that assigns those parts for units.
In PFM, add the table “unit_variants_table” from data.pack. In this table, scroll down to “wh_main_emp_cha_karl_franz_0”. We can see that his variant is called “wh_emp_ch_karl_2h_hammer”.
Now add the files “wh_emp_ch_karl_2h_hammer.variantmeshdefinition” and “emp_ch_balthasar.variantmeshdefinition” from variants.pack
Open them both, and replace Balthasar Gelt’s body mesh with Karl Franz’s. To do this, highlight everything from between SLOT name =”body” to /SLOT in Gelt’s file and that portion of Karl Franz’s file.
Now save the files, and we’re done.

The final product of the Karl Franz edits will look like this:
VI: Uploading Your Mod
To upload your mod to the Steam Workshop, you must create a 256x256 png file for your mod, that has the same name as the mod itself. Both of these files must be located in C:\Program Files (x86)\Steam\steamapps\common\Total War WARHAMMER\data
You then launch Total War: Warhammer via Steam, open the Mod Manager and click "Upload" on your mod. You must agree to the Steam Workshop EULA, and then select a tag for your mod that facilitates other players finding your mod, eg Battle.
Once it is uploaded to the Steam Workshop you can add images, videos, change the name and description of the mod and fancy up its presentation.

To upload the mod to twcenter, you must go to the Modifications page and make a new thread under Campaign Map/Battle Map/Overhauls, Compilations and Miscellaneous or WIPS, Ideas and Proposals. http://www.twcenter.net/forums/forumdisplay.php?2191-Total-War-WARHAMMER-Modifications
You must provide a link to your mod, uploaded to sites such as mediafire or MEGA. It is good for everyone if these mods are kept up to date, and you respond to feedback/criticism.
VII: Additional Resources
People have been modifying Total War games for over a decade, and it makes sense that you go back to their accomplishments and breakthroughs in modding to see how it was done in previous games. The two most recent Total War games, Attila and Rome 2 have a great many guides made which may be outdated in some areas, but overall a lot of stuff remain the same. This guide was heavily influenced by them. Here are a few, each guide also contains links to a great many more guides.
http://www.twcenter.net/forums/showthread.php?619470-Tools-Tutorials-and-Resources-%28updated-Oct-8th%29
http://www.twcenter.net/forums/showthread.php?640987-Modding-Guide-for-Novices
http://www.twcenter.net/forums/showthread.php?638154-Assembly-Kit-Guide
http://www.twcenter.net/forums/showthread.php?656454-Sebidee-s-Complete-Guide-to-Unit-Creation
http://www.twcenter.net/forums/showthread.php?619662-VariantMeshDefinitions-files

Magnar’s Youtube Tutorials
https://www.youtube.com/watch?v=CtoD9TcjuBI
https://www.youtube.com/playlist?list=PLmtG8Z54VtqjC_HovpY948lmmOuxRd66q
https://www.youtube.com/playlist?list=PLmtG8Z54Vtqgy9mgSQaPrLvb_Htq3yL_v

You might also wish to take a gander at modder interviews done by the Eagle Standard. They are both inspiring, and interesting.
http://www.twcenter.net/forums/content.php?288-Modding-Legends-Interview-with-Dresden
http://www.twcenter.net/forums/content.php?215-Interview-with-Sebidee-focus-on-Mods-and-Roster-Expansions
http://www.twcenter.net/forums/content.php?273-Modding-Legends-Interview-with

Furthermore, the TWCenter University is a good location for incredibly indepth classes on certain areas of modding. They may be outdated however.
http://www.twcenter.net/forums/forumdisplay.php?529-The-Class-Archives
296 Comments
SteakDriven Oct 13, 2022 @ 7:50am 
Can we get a comprehensive list of all of the variables and what they do?
Jon383 Aug 19, 2021 @ 8:51am 
Would it be possible to create a mod in aEfaE (Beastman company) using only PFM?
Commander Gotthard Jun 21, 2021 @ 8:50am 
I can add that I have been exporting other tables without problems in Assembly Kit.
After I have modifed the two tables for starting units I go to export single tables as usual and there I get the list of the tables that are modifed and I can see a list of all other tables that I have modified, but not these two tables:start_pos_land_units and start_pos_starting_general_option_general_additional_units
Commander Gotthard Jun 21, 2021 @ 8:45am 
The Assembly Kit is not showing the start_pos land units table or the start pos general additional units tables so i can´t export those tables after i have modified them. Is that a bug? I also ipened the data.pack in PFM and I can´t see any start pos tables at all there. So I guess the only other option is to try and use LUA script to modify the starting units unless someone has a solution?
Mr. Tarzan Jun 11, 2021 @ 11:26am 
@Sir Draskar if you select all values in a column in the packfile manager program, you can right click and do a math equation, meaning you can multiply all values by 2 in the selected cells for example
Romano Focaccia Mar 29, 2021 @ 5:07am 
Quick and dirty question: there is a quick way to edit all units stats in the same way?
e.g. double recruitement cost, halves attack value etc...
Skagen™ Mar 27, 2021 @ 3:36am 
This doesn't help me unfortunately. I'm not going to use any third party software because I know I don't have to, all I need for the changes I want to make is the assembly kit. I remember there was a tutorial of some kind I found on the wiki a year ago but I can't seem to find it now. I want to change some settlement climates which is something I did a year ago but uninstalling a reinstalling the game removed the mod I made. All I really need help with is how to save my changes and how to make a mod. The guide I used a year ago is gone for some reason. Any help would be appreciated.
GIGroundNPound Feb 9, 2021 @ 9:22am 
Would you mind perhaps going into more depth on mod compatibility? For instance, I am trying to make a mod for SFO that increases unit size by 25%. I import the main_units table and land_units table to increase size/healthpoints and ensure #cavmen=#cavmounts and so on, I rename the table, but it seems as though none of the changes take effect. Is that perhaps an issue with load order? Thanks for this guide regardless, it was very well done! Awarded!
Riesendurcheinander ™ Sep 13, 2020 @ 4:38am 
hey dude nice guide but i have 1 question :C how to update ROME II workshop mods :x
Kazraan Aug 9, 2020 @ 10:02am 
@Caligula - thanks for this composition of mods! Do any of them explain how to make variable unit caps? Like a cap that would increase if you build something specific?