Author: Caligula the Mad
Original Thread: Getting Started - Modding for Newbies

Getting Started - Modding for Newbies 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...

Getting Started 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.

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.

Finally, you’ll also need a computer art editing thing such as, gimp or Photoshop depending on which tool you prefer and how artistic you want to be.

How the Pack File Manager Works 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).
Spoiler Alert, click show to read: 

After this, click File – Open CA Pack.
Spoiler Alert, click show to read: 
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.
Spoiler Alert, click show to read: 

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.
Spoiler Alert, click show to read: 
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.
Spoiler Alert, click show to read: 

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.
Spoiler Alert, click show to read: 

Scroll across until you come to morale, and it to 200.
Spoiler Alert, click show to read: 

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”.
Spoiler Alert, click show to read: 

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_”.
Spoiler Alert, click show to read: 

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
Spoiler Alert, click show to read: 

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.

Polishing Your Mod/Compatibility 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.
Spoiler Alert, click show to read: 

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.
Spoiler Alert, click show to read: 

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.
Spoiler Alert, click show to read: 

Save your mod, and test it out.

The Assembly Kit 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.
Spoiler Alert, click show to read: 

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.
Spoiler Alert, click show to read: 

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.
Spoiler Alert, click show to read: 

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.
Spoiler Alert, click show to read: 

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

Variantmeshdefinitions 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.
Spoiler Alert, click show to read: 

The final product of the Karl Franz edits will look like this:
Spoiler Alert, click show to read: 

Additional Resources 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.
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.

Additional Resources 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.

Magnar’s Youtube Tutorials

You might also wish to take a gander at modder interviews done by the Eagle Standard. They are both inspiring, and interesting.

Furthermore, the TWCenter University is a good location for incredibly indepth classes on certain areas of modding. They may be outdated however.

Good Luck!