Football Manager 2018 Skinning Guide Part 1 - How to Extract Default Files & Understanding File Structure
Compared to Football Manager 2017, there are just two changes for FM 2018.
- Location of the fmf files has changed slightly as the 3D stuff is now packed into fmf files as well.
- Whilst Football Manager Touch 2018 is again a separate entry in your Steam Library it looks like both versions of the game include the same files so regardless of which version you are making content for it looks like you only need to extract the fmf files of one which should save some hard drive space. Note however if the games get patched independently then you may need to check over the patch files for any changes made to the mode you are editing.
Before you start you will need to ensure you have a couple of things ready.
- A fully up-to-date version of Football Manager 2018. (Or Football Manager Touch 2018)
- The Resource Archiver Tool, this is obtained via Steam from the Library -> Tools menu (note you need to own the retail version of Football Manager to have access to that version's Resource Archiver Tool). For Football Manager 2018 and Football Manager Touch 2018 you need to use the 2018 version of the Resource Archiver Tool. If you haven't used the Resource Tool before then there is a user guide installed with it that explains how to use it, located inside the \Steam\steamapps\common\Football Manager 2018 Resource Archiver folder.
- A Text Editor - Notepad was fine but it seems to have problems with the formatting of some of the xml files so if you don't want to download a program you should be able to use Wordpad instead, however I'd recommend a program like Notepad++ or a web editor such as Kompozer - these have colour-coded code and line numbers that make it easier to edit the larger xml files.
Extracting the fmf files
NOTE: If you are editing the Touch Mode then replace any references below to Football Manager Touch 2018 from Football Manager 2018.
- The first thing to do is to create a new folder somewhere on your computer that has plenty of hard drive space and is in an easy to find location. We will call this your Working folder.
- Next we need to locate the game folder of where you installed Football Manager 2018, this is located at \SteamApps\common\Football Manager 2018\data\game within your Steam Folder. If you cannot find the location on your computer then from the Steam Library screen right click on Football Manager 2018 go to properties -> Local Files -> Browse Local Files and a new window will open at your Football Manager install folder.
- You'll also notice some fmf files in the data folder these are new for FM18 and for the most part deal with the 3D stuff so you shouldn't really need to do anything with them, however the fmgameextras, sitoolkit and sitoolkit_uncompressed files contain some skin files so you'll want to extract them if you are skinning rather than looking for a certain file.
The most important file is the sitoolkit one as it contains the widget skins which contain all the graphics for the default skins so if you are doing any skinning you'll need them.
- Now load up the Resource Archiver Tool and in the bottom right hand corner select 'Extract Archive...'. And use the Location drop down menu to browse to the data\game folder of where Football Manager is installed.
- Once you have located the data\game folder you now need to extract the fmf file(s) you want, to do this select the fmf file in question and press select. This will now open a new dialog window this is where you choose to save the extracted files, you now want to browse to where you put your Working Folder and select that as the destination, when done a processing bar will appear as the files are extracted. Note that the Resource Tool will automatically extract the files into the correct sub folders.
- To extract more files click 'Extract Archive...' again and the Resource Tool should have remembered your install and save locations so you just need to select and extract what fmf files you want.
- Once you have extracted the files from the data\game folder if the game has been patched you will also need to extract the files from one of the updates folders as this is where the patched files are located. Once the game has been patched you'll want to check the data\game\updates folder for any update folders and then check them for any fmf files which you'll need to extract.
When extracting the update files I recommend you do it in one of two ways:
If you haven't edited any files yet then when extracting the updates fmf files extract them to the same location in your Working folder as the default files and let the patched files overwrite them, this ensures you are working with the updated files rather than old files.
If you have already made skins/mods/edits then what I'd suggest is to extract the update fmf files into their own location and then compare these files against the default files so you can see what and how files have been changed with the latest patch and whether you need to update old edits for the new patch. Once you have checked the files you can then merge them with the default files.
- Depending on what you are doing you may need to extract different files, if you are planning on creating a new skin or mod then it is best to extract all of the fmf files, if you are just wanting to edit a couple of things then more than likely the files you are looking for are in the panels, skins, or sitoolkit fmf files. (In both cases also make sure to extract the updated files aswell).
- For FM2018 what I would also do is copy over the files you extracted from the sitoolkit and fmgameextras fmf into the same place as you put the general game files so the contents of the folders merge together to save you having to switch back and forth between the different locations - you'll notice the sitoolkit file cotains a skins folder so it's easier to merge this with the skins folder from teh skins.fmf file so you don't need to switch between the two skins folders.
Understanding the Football Manager File Structure
Now that you have extracted the default files you are left with thousands of files and folders seemingly in no order as to where they are located, however understanding the file structure of Football Manager should help you to find the file you are looking for.
If you haven't already browse to your Working folder and open the skins folder.
The first place that FM looks for a file is inside the skins folder for the skin you are using. For example if you are using the Default Football Manager Dark Skin then the folder that the game first looks in is the fm dark folder.
However looking in this folder you won't see much this is because skins can inherit files from parent skins. To see if a skin has a parent skin you need to open the skin_config xml file located inside the <skin name> folder located within the skins folder, so for the Dark Skin you'd look inside skins\fm dark\skin_config.xml from within the files you have extracted, upon opening the file locate this line:
<flags id="parent" value="fm dark-widgets" />
This tells us the parent skin to the Dark skin is the 'fm dark-widgets' skin, and inside the skins folder you'll see there is a folder called fm dark-widgets, upon opening this folder you'll see it has more files than the fm dark folder but still not that many, this is because the fm dark-widgets skin also has a parent skin which in this case is the fm skin.
NOTE: For FM18 the widgets skins are now contained within the sitoolkit fmf file so if the folder isn't present you've not followed the above instructions so back to the start and follow them again.
If you now look in the fm folder you will see this skin has more files and we are finally finding files we might want to edit, however we aren't finished yet as if you look in the fm xml file you'll see this skin also has a parent skin called fm-widgets.
However if you look in the fm-widgets\skin_config.xml file you'll see that this skin doesn't have a parent skin.
This means when using the Default Dark Skin the game will first look in the fm dark folder for the file it wants, if it doesn't find it it will move onto the fm dark-widgets folder, then the fm folder and finally the fm-widgets folder for the file it is looking for, however it won't look in the fm light folder, so by knowing which parent skins a skin uses you have narrowed down which folders you need to look in. For example you'll see various other folders such as fm light and fm light-widgets within the skins folder however if you are basing a skin off the Default Dark Skin then you don't need to look in those locations as the skin doesn't read the files from those locations.
The reason for parent skins is to cut down on file duplication - the layout of the dark and fm skins are nearly identical only the colour scheme is different so with the dark skin using the fm skin as a parent we don't need duplicate files in the dark folders as they can just use the fm files, the only files that will be in child skins are files that are different from their parent skins, the upside of this means when you are creating your own skin you only need to include files you have edited rather than all of the files, reducing file size and work you have to do when the game is patched.
If the game cannot find the file it is looking for in the skins folder it will now move onto the other locations. For example if the skin is looking for the 'match incidents small' xml file it knows it should be in the panels\match folder, however after looking through the files for the Dark Skin and it's parent skins it still cannot find the file it will use the file located inside the panels\match folder you extracted from the panels fmf file.
The same also applies for graphics if the game cannot find the graphic from the skins folder it will look for it in the graphics folder.
The same system also applies to custom skins, however first it will look for files in the skins folder within your User Data Location that are linked to the skin you are using, it will then move onto the skins.fmf file(s) that came with the game, before moving onto the panels (or graphics) folder located in your User Data Location before finally looking in the default panels.fmf/graphics.fmf file. This explains why when adding certain custom files they need to be located within a custom skin for the game to read them, as it checks the default skins.fmf file before checking the panels or graphics folder within your User Data Location.