Tutorial:TS3 How to Check Mod Compatibility
Whenever EA releases a new patch version, compatibility of custom content and mods can be called into question. Some mods are nearly guaranteed to be compatible, some mods should be treated as suspect, and some mods are almost certainly incompatible. This article is intended to give you the ability to check this for yourself.
Contents |
A humble note
So you've done the silly thing and updated The Sims 3 through the Launcher without realizing that some mods are compatible only with certain patch versions? Shame on you.
So now you're about to do something even sillier and ambush well-meaning mod authors on their comment threads whether their mods have been updated to the new version, without even trying the mods out to see whether they work or not? Double shame on you.
Now you can be empowered to answer those questions for yourself, and can avoid the crushing shame that keeps you awake at night. (If it doesn't keep you awake at night, a thousand shames upon you.)
Preliminary questions
Is it in a .package format or a .Sims3Pack format?
This guide focuses primarily on checking compatibility of mods in the .package format. Modifications distributed in .Sims3Pack are slightly harder to check and require one additional utility before they can be checked for compatibility.
Is it an object, a tuning mod, a scripting mod, or a core mod?
Read the mod author's description carefully for the mod you're downloading to determine what type it is.
Object
With the notable exception of when EA changes a format, such as they did with the animation rigging for the Pets 1.26 patch, objects are almost always compatible with a new version. On the other hand, if that object mentions "custom interactions" or something like that, you should actually treat it as a scripting mod.
Fair warning: If the mod you are downloading pre-dates the 1.26 patch on and it is an interactive non-decor item that sims can perform animations with, its compatibility is suspect. Read the object compatibility tutorial below to determine if this is the case. Fortunately there is a handy tutorial if this problem affects you. You may also attempt to employ the RigFix application.
Tuning
EA had a lot of foresight when it came to a streamlined development process: the programmers would create code that was suitable for a wide variety of generic circumstances, and the designers would then "tune" the programming code using special "tuning" files. In this way, the designers did not need to change the program code to introduce their changes, and the programmers did not have to spend hours on end "rebuilding" the program every time a simple change was introduced. Thus, the programmers are responsible for making it work, while the designers are responsible for making it fun and consistent. Unfortunately, at times the Sims Studio designers have some... esoteric ideas... on what constitutes fun gameplay, meaning that the mod community can thrive on providing better tunings to suit a variety of gameplay tastes and styles.
Most simple tuning mods are already going to be compatible with a new EA patch, because the tuning files in the original gameplay data will not usually be changed from one patch to the next. There are certain tunings that EA does alter frequently (such as "Bars" and "Plants"), but these are few and far between.
Tuning mods include such things as "less autonomous" or "no autonomous" interaction mods; changing the hours of rabbitholes; localizing, adding, or editing text ("strings") in the game, and likewise. In general, the mod author will usually mention it is a tuning mod.
Complex tuning mods are less certain, but everything you need to know is explained later.
Fair warning: Tuning mods will almost never break your game, but you never know.
Scripting
Scripting mods, sometimes called "pure scripting mods", use special programming voodoo to add their functions to the game without overwriting anything. While the ability to introduce this code could be seen as a bug in the software, EA has thankfully been particularly permissive and cooperative with this, no doubt because a massive proportion of their sales are driven by the modding and custom content community.
The compatibility of scripting mods is a mixed bag. Pure scripting mods, in general, are more likely to be compatible, but if a pure scripting mod attempts to affect EA code that has changed, then it may work sporadically, may work only with a limited subset of features, or may not work at all.
Fair warning: Removing a scripting mod while it is running can have deleterious effects on your savegame's health. Mods such as Awesome or ErrorTrap can however catch these errors and prevent them from breaking your game.
Core
Core mods were the "old fashioned" method of modding prior to pure scripting mods. When it was discovered that The Sims 3 used C# (C-Sharp) modules embedded into the game, the only way to edit the game originally was to overwrite one of the few available modules to add the code desired, until a method was discovered to introduce new scripts by piggy-backing off of another feature.
Sometimes, unfortunately, the only way to introduce a feature even now is to use a core mod; some features are buried so deeply in the EA modules that they are impossible to manipulate without overwriting the module entirely.
Fair warning: Core mods are always compatible with only a single base-game version, and unless they specifically mention otherwise, are likely to be incompatible with each other. In the extremely rare event that EA releases a patch that changes almost nothing, there is a remote possibility it will work. Otherwise, you should wait until your core mods are updated prior to installing the next patch.
Are you competent at using your computer?
These tutorials, while still easy (particularly for tuning), focus on some tasks that are a fair bit more technical than simply double-clicking icons on the computer desktop and playing. You will have to multi-task to some extent, and should be familiar with how to rename, move, and delete folders on your computer's file system.
Tutorial: Quick compatibility checking method - sandbox and test
The easiest way to check the compatibility of a mod with a new game version is simple, straightforward, and full of common sense: try it out!
There's nothing worse on the internet than a "help vampire", a person who demands that other people answer impossible questions for them instead of researching the information themselves. Remember, people will simply be doing the exact same thing you would be doing in order to find out -- they will test it -- so be a good citizen and try to help yourself! If you're stuck or you're having trouble, people will be that much more eager to help you if they can see that you've put in an honest effort in the first place. Hey, no one ever said this "life" thing was easy. In fact, sometimes it kinda sucks. (But that's a whole other article...)
Back up your packages folder
TODO screenshot of renamed packages folder
After you have installed a new patch, you can simply rename your existing "Packages" folder from your framework setup (see Game Help:Installing Sims 3 Package Files) to a different name. This will prevent The Sims 3 from seeing any of your custom content in the old "Packages" folder.
Create a new blank packages folder
TODO screenshot of new packages folder with single package to test
Now create a new "Packages" folder and place the .package file you want to test in there.
Run without custom content
TODO screenshot of launcher with Run without custom content checked
If you are launching The Sims 3 via the launcher, you will want to ensure that you run it without the custom content, by clicking the "Installed Content" button and ticking the "Run without custom content" checkbox. Or, if you are testing a .Sims3Pack, disable all of the other custom content you have installed and then enable only the specific Sims3Pack you want to test. Then hit the Play button to begin. If you are launching The Sims 3 through some other means, you will have to take appropriate steps to disable any .Sims3Packs you have installed, which is beyond the scope of this tutorial.
You may also want to install a mod like Awesome or ErrorTrap in your packages folder to ensure that any error messages that are produced by the mod you are testing can be reviewed later.
Start a new saved game and test as needed
Finally, create a new saved game (as your old saved games may still be dependent on your old packages), and begin play-testing the mod as you would expect it to work. The Sims 3 is fortunately not like most games, and much of the game's functionality is available right at the very beginning. If you can buy it, build it, and play with it, then congratulations: it's compatible. If it will take some time before you can test it out, you can also use the various Sims 3 Cheats to help you get there, or use advanced testing features like NRaas DebugEnabler and MasterController or Awesome mod's console commands to cheat as needed as well.
If you do cheat, then keep yourself honest and don't save the game. ;-)
Delete your sandbox and return things to normal
TODO screenshot of "re-re-named" packages folders
Once you're all done, go ahead and delete your new "Packages" folder and rename the old one back to "Packages", and now everything you have is back to normal. If you've done it properly, you can go back to your old saved games as if nothing had ever happened.
If creating a sandbox to test out custom content compatibility is not your thing, read on for the technical ways you can check compatibility of mods without ever booting up The Sims 3.
Tutorial: Checking Tuning Mod Compatibility
This tutorial assumes that you are running a Windows PC.
Required applications
- A powerful "plain text editor" or "XML editor" with file comparison ability, such as EditPad Pro, Notepad++, or likewise, or a dedicated file comparison or merging program like WinMerge, TortoiseMerge, or likewise
- The Sims 3 Package Editor, S3PE, by Peter Jones
- A custom content package to check the compatibility of, in .package or .dbc format
If the custom content is in .Sims3Pack format, you will unfortunately need to convert it to a .package file first. TODO Tutorial:Converting a .Sims3Pack to a .package
Open old package
TODO screenshot of opening package file TODO screenshot of drag and drop onto S3PE
After installing S3PE, open S3PE and choose File->Open to select the desired package file. On a Windows desktop, you can also drag and drop a package file directly onto the S3PE shortcut icon to start S3PE and load the package all at once.
Verify it's a tuning mod
TODO screenshot of S3PE interface with an opened tuning mod
Now that you have the file open, you will want to look through the list of displayed files on the left hand pane -- don't worry, the names may be blank -- and in the "Tag" column, check to see if the type is "ITUN", "DMTR", "_XML", or "_INI" on every line. If so, congratulations: it's a tuning mod! If there are any other tags there that aren't listed here, then unfortunately the custom content will require a more complex procedure for validation and this specific tutorial will not be sufficient.
Open GameplayData.package
TODO successive screenshots of Sims 3 installation folders following breadcrumbs to GameplayData.package
Navigate to the "The Sims 3\Game\Bin\Gameplay" folder in your Sims 3 installation folder (C:\Program Files\The Sims 3 or C:\Program Files (x86)\The Sims 3 by default on a PC), and open the GameplayData.package file in a new window of S3PE, while still keeping the old package open in another window.
GameplayData.package is a large package and contains many, many tunings for just about everything in the game. (You may want to scan through the file later on to see if there's anything you find interesting, and you can then create a tuning mod of your own!) Because it is dauntingly sized, finding the matching tunings between the old custom content will be prohibitively difficult.
Copy instance number of old package
In the S3PE window containing the old package, double-click on the first tuning file to check the compatibility of, where you will receive a prompt.
TODO screenshot of Resource Details popup
Look closely at the number in the "Instance" field. This is the number you will be looking for in just a moment.
Search for instance in GameplayData
TODO screenshot of Instance column
Switch to the S3PE window containing the GameplayData.package, and then click on the "Instance" column header in the left panel to sort all of the tunings by instance. Scroll down through the list until you find the instance you want.
If the name of the old tuning wasn't blank, you might also be able to get away with sorting by the "Name" column instead and scrolling down to where the tuning appears -- but bear in mind that the tuning mod author may have changed the name. The Instance, on the other hand, will always be the same.
Simple comparison of files
TODO screenshot of simple tuning XML files in S3PE
If the files are very simple, you can probably look at them both directly in S3PE and compare them without having to take additional steps. What you are looking for are the "XML tags": any text that appears surrounded by angle brackets ("less than" or "greater than" symbols) in the "eXtensible Markup Language" format. If both files appear to contain the same number of XML keys, even if the values are slightly different, then they are practically guaranteed to be compatible with a new patch, no questions asked! If so, congratulations, you're done!
Exporting files for extended comparison
TODO screenshot of exporting files
Sometimes you're not as lucky and the files are far more complicated than anything you can inspect by eye alone. Don't worry, computers these days are pretty good at doing the "doity woik" (dirty work) for you.
In the S3PE window containing the old package file, right-click and choose Export->To file... from the context menu. Save the file using the default name in whichever folder is most convenient for you.
In the S3PE window containing the GameplayData package, right-click the same resource and also choose Export->To file.... Save the file using a different name in the same folder, or the original name in a different folder.
Run file comparison
TODO screenshot of WinMerge TODO screenshot of EditPad Pro compared files
This procedure is different for every text editor, so read your text editor's documentation to see how to compare files. If your favourite text editor doesn't have a file comparison feature, take a look online for professional text editors or free programmers' text editors to find one you like. You can also use free file comparison applications like WinMerge, TortoiseMerge, and other merging utilities.
Open both files in your comparison program and take a look at the display.
Any "red lines" should be accompanied by "green lines" that contain the same XML tags, even if the values are slightly different. Some applications will simply display these as yellow or orange lines instead of showing separate red and green lines. If you see a large block of red lines with no green lines, or a large block of green lines with no red lines, then unfortunately the format of the XML file changed slightly over the course of the patch, and an update to the tuning file may be needed. (With the differences highlighted so conveniently for you, why not do it yourself? If you've gotten this far, you're more than capable of following the Tutorial:Sims 3 XML Tuning Modding!)
Repeat the above comparison steps for every other resource in the tuning mod package, checking each file against its version in GameplayData -- obviously this works best only for small tuning mods -- and you will be set.
If in WinMerge every line is orange, then congratulations: the tuning mod is still compatible with your current version of The Sims 3 and you can install the old package file with almost no fear that it will cause any harm to your game.