A utility mod that inspects loaded tuning files by converting them into Python objects. Most settings defined in XML are readable this way — but not editable. This mod provides read-only access to tuning data.
- Mod authors who create or patch tuning files can use this tool to verify their changes.
- Mod authors who copy EA tuning wholesale to change a single line are also welcome — but please reconsider. Mods that break with every TS4 update hurt the player experience. Use Patch-XML to create resilient mods that don’t break the game.
This mod is not intended for regular gameplay. It does not alter game behavior and is purely diagnostic.
If you're modifying location tests (e.g., for beach towels), it's easy to change the XML — but harder to confirm if your edits work in-game.
Use the following commands to inspect tuning objects:
inspect - suntan_BeachTowel- the mod will figure out that you meant manager 'interaction'.inspect INTERACTION suntan_BeachTowel- to look at the tuning. You will notice that there are 'test_globals'.inspect INTERACTION suntan_BeachTowel test_globals- to drill down into the test_globals property. You will notice that 'LocationTest' is one of the possible tests.inspect INTERACTION suntan_BeachTowel test_globals.LocationTest- to drill further down into the test_globals and then into the LocationTest property.
To inspect module based tunings x-inspect must be used:
x-inspect SocialMediaTunables SOCIAL_MEDIA_POST_REACTIONS- 'Alpha' short name support for module based classes.x-inspect SocialMediaTunables- List all available tunables.x-inspect automation.constants._Constants/_Lot_Descriptions- Show tunings for 'automation/constants.py; class Constants: class LotDescriptions'x-inspect social_media.social_media_tuning._Social_Media_Tunables SOCIAL_MEDIA_POST_REACTIONSx-inspect SocialMediaTunables TYPES_OF_POSTS content- 'Alpha' short name support for module based classes.
Each command drills deeper into the tuning structure:
- The mod auto-detects the manager (e.g., INTERACTION)
- You can explore nested properties like test_globals and LocationTest
Some tests are converted into runtime objects and may not appear in the tuning. Patch-XML can patch these during load-time. LiveXML makes patching such tests more difficult.
This mod is incompatible with Scumbumbo’s Inspector, which uses the same inspect cheat command.
Scumbumbo’s tool requires editing and reloading scripts repeatedly — something I’ve done many times and didn’t enjoy. This version accepts Python objects (classes, tuples, etc.) directly as parameters, eliminating the need for constant script edits.
- "SocialMediaTunables": "social_media.social_media_tuning.SocialMediaTunables"
- "LocalizationStrings": "automation.constants.Constants", "LocalizationStrings"
- "Interactions": "automation.constants.Constants", "Interactions"
- "ObjectDefinitions": "automation.constants.Constants", "ObjectDefinitions"
- "ResourceIds": "automation.constants.Constants", "ResourceIds"
- "LotDescriptions": "automation.constants.Constants", "LotDescriptions"
- "ClubSeeds": "automation.constants.Constants", "ClubSeeds"
- "Recipes": "automation.constants.Constants", "Recipes"
- "Situations": "automation.constants.Constants", "Situations"
- "SituationJobs": "automation.constants.Constants", "SituationJobs"
- "Buffs": "automation.constants.Constants", "Buffs"
- "Misc": "automation.constants.Constants", "Misc"
- "ClubTunables": "clubs.club_tuning.ClubTunables"
- "BroadcasterClubRule": "clubs.club_tuning.BroadcasterClubRule"
- "CommandTuning": "server_commands.sim_commands.CommandTuning"
- "UiTuning": "ui.ui_tuning.UiTuning"
- "TelemetryTuning": "telemetry_helper.TelemetryTuning"
- "AdoptionService": "adoption.adoption_service.AdoptionService"
- "BalanceSystemTuning": "balance_system.balance_system_tuning.BalanceSystemTuning"
- "PassiveBalloons": "balloon.passive_balloons.PassiveBalloons"
- "Career": "careers.career_tuning.Career"
- "CASStoriesTuning": "cas.cas_tuning.CASStoriesTuning"
- "CASTuning": "cas.cas_tuning.CASTuning"
- "BaseCivicPolicyProvider": "civic_policies.base_civic_policy_provider.BaseCivicPolicyProvider"
- "Photography": "crafting.photography.Photography"
- "Recipe": "crafting.recipe.Recipe"
When using the full qualified names make sure to use '_a' for 'A'. The attribute is always converted to upper case.
This mod has been tested with The Sims 4 1.120.117, S4CL 3.17, TS4Lib 0.3.42.
It is expected to remain compatible with future releases of TS4, S4CL, and TS4Lib.
Download the ZIP file - not the source code. Required components:
If not already installed, download and install TS4 and the listed mods. All are available for free.
- Locate the localized
The Sims 4folder (it contains theModsfolder). - Extract the ZIP file directly into this folder.
This will create:
Mods/_o19_/$mod_name.ts4scriptMods/_o19_/$mod_name.packagemod_data/$mod_name/*mod_documentation/$mod_name/*(optional)mod_sources/$mod_name/*(optional)
Additional notes:
- CAS and Build/Buy UGC without scripts will create
Mods/o19/$mod_name.package. - A log file
mod_logs/$mod_name.txtwill be created once data is logged. - You may safely delete
mod_documentation/andmod_sources/folders if not needed.
If you prefer not to extract directly into The Sims 4, you can extract to a temporary location and copy files manually:
- Copy
mod_data/contents toThe Sims 4/mod_data/(usually required). mod_documentation/is for reference only — not required.mod_sources/is not needed to run the mod..ts4scriptfiles can be placed in a folder insideMods/, but storing them in_o19_is recommended for clarity..packagefiles can be placed in a anywhere insideMods/.
If installed correctly, no troubleshooting should be necessary. For manual installs, verify the following:
-
Does your localized
The Sims 4folder exist? (e.g. localized to Die Sims 4, Les Sims 4, Los Sims 4, The Sims 4, ...)- Does it contain a
Mods/folder?- Does Mods/o19/ contain:
ts4lib.ts4scriptandts4lib.package?{mod_name}.ts4scriptand/or{mod_name}.package
- Does Mods/o19/ contain:
- Does it contain a
-
Does
mod_data/contain{mod_name}/with files? -
Does
mod_logs/contain:Sims4CommunityLib_*_Messages.txt?TS4-Library_*_Messages.txt?{mod_name}_*_Messages.txt?
-
Are there any
last_exception.txtorlast_exception*.txtfiles inThe Sims 4? -
When installed properly this is not necessary at all. For manual installations check these things and make sure each question can be answered with 'yes'.
-
Does 'The Sims 4' (localized to Die Sims 4, Les Sims 4, Los Sims 4, The Sims 4, ...) exist?
- Does
The Sims 4contain the folderMods?- Does
Modscontain the folder_o19_?- Does
_19_containts4lib.ts4scriptandts4lib.packagefiles? - Does
_19_contain{mod_name}.ts4scriptand/or{mod_name}.packagefiles?
- Does
- Does
- Does
The Sims 4contain the foldermod_data?- Does
mod_datacontain the folder{mod_name}?- Does
{mod_name}contain files or folders?
- Does
- Does
- Does
The Sims 4contain themod_logs?- Does
mod_logscontain the fileSims4CommunityLib_*_Messages.txt? - Does
mod_logscontain the fileTS4-Library_*_Messages.txt?- Is this the most recent version or can it be updated?
- Does
mod_logscontain the file{mod_name}_*_Messages.txt?- Is this the most recent version or can it be updated?
- Does
- Doesn't
The Sims 4contain the file(s)last_exception.txtand/orlast_exception*.txt?
- Does
-
Share the
The Sims 4/mod_logs/Sims4CommunityLib_*_Messages.txtandThe Sims 4/mod_logs/{mod_name}_*_Messages.txtfile.
If issues persist, share:
mod_logs/Sims4CommunityLib_*_Messages.txt
mod_logs/{mod_name}_*_Messages.txt
This mod does not send any data to external servers. The code is open source, unobfuscated, and fully reviewable.
Note: Some log entries (especially warnings or errors) may include your local username if file paths are involved. Share such logs with care.
- © 2020-2025 Oops19
.packagefiles: Electronic Arts TOS for UGC- All other content (unless otherwise noted): CC BY 4.0
You may use and adapt this mod and its code — even without owning The Sims 4. Have fun extending or integrating it into your own mods!
Oops19 / o19 is not affiliated with or endorsed by Electronic Arts or its licensors. Game content and materials © Electronic Arts Inc. and its licensors. All trademarks are the property of their respective owners.
- Do not place this mod behind a paywall.
- Avoid creating mods that break with every TS4 update.
- For simple tuning mods, consider using:
- To verify custom tuning structures, use:
Installing this mod creates files in several directories. To fully remove it, delete:
The Sims 4/Mods/_o19_/$mod_name.*The Sims 4/mod_data/_o19_/$mod_name/The Sims 4/mod_documentation/_o19_/$mod_name/The Sims 4/mod_sources/_o19_/$mod_name/
To remove all of my mods, delete the following folders:
The Sims 4/Mods/_o19_/The Sims 4/mod_data/_o19_/The Sims 4/mod_documentation/_o19_/The Sims 4/mod_sources/_o19_/