Reset a stuck Sim in The Sims 4, and every reset command the game actually registers
Open the cheat console with Ctrl + Shift + C and type resetsim FirstName LastName. It is registered as a Live command at server_commands.sim_commands:1023 and printed in the game executable's own help table as resetsim <sim name>, so it runs without testingcheats.
A Sim frozen mid-animation, stuck in a doorway, or refusing every order is the one problem The Sims 4 gives you a dedicated command for. That command is unusual in two ways: it is one of only eleven commands that appear in the game executable's own console help table, and it is registered as Live, so it runs in a retail game with no cheat switch first.
resetsim
Type it with the Sim's first and last name after it. Registered at server_commands.sim_commands:1023, usage resetsim [first_name] [last_name], and printed in the executable's help table at 0x1E3AC20 as resetsim <sim name>.
Open the console with Ctrl + Shift + C on Windows and on Mac. On a Mac that is the Control key rather than Command, which is usually why a Mac player believes the console does not exist. On PlayStation and Xbox, hold all four shoulder buttons together, or press Ctrl + Shift + C if a keyboard is attached; console players also see a confirmation dialog before cheats switch on that desktop players never get.
Every reset command, and whether you can run it
Sortable. The rows without a copy button cannot be typed into the console: their command type puts them on the automation channel or keeps them out of a shipped build. They are listed because they exist and because several of them circulate as player cheats.
| Command | Arguments | Type | Runs for a player | Registered at |
|---|---|---|---|---|
resetsim | [first_name] [last_name] | Live | Yes | server_commands.sim_commands:1023 |
sims.get_sim_id_by_name | [first_name] [last_name] | Live | Yes | server_commands.sim_commands:1036 |
pivotal_moments.reset | none | Live | Yes | tutorials.pivotal_moment_commands:92 |
pivotal_moments.reset_with_rewards | none | Live | Yes | tutorials.pivotal_moment_commands:103 |
objects.reset | [obj_id] [expected] | Cheat | Yes, after testingcheats | server_commands.object_commands:453 |
sims.remove_buff | <buff_type> [opt_target] | Cheat | Yes, after testingcheats | server_commands.sim_commands:731 |
household.fix_collections | [full_check] | Cheat | Yes, after testingcheats | server_commands.household_commands:720 |
lifestyles.reset_all | [sim] | Cheat | Yes, after testingcheats | traits.trait_commands:152 |
scenarios.reset_active_phase | none | Cheat | Yes, after testingcheats | server_commands.scenario_commands:103 |
scenarios.reset_goal | <situation_goal> | Cheat | Yes, after testingcheats | server_commands.scenario_commands:141 |
sims.reset | [opt_sim] | Automation | No — automation channel only | server_commands.sim_commands:1012 |
sims.hard_reset | [opt_sim] | Automation | No — automation channel only | server_commands.sim_commands:1376 |
sims.remove_all_buffs | [opt_target] | Automation | No — automation channel only | server_commands.sim_commands:760 |
sims.reset_all | none | DebugOnly | No — never registered | server_commands.sim_commands:1057 |
sims.reset_multiple | [obj_ids ...] | DebugOnly | No — never registered | server_commands.sim_commands:1048 |
sims.reset_periodically | [enable] [interval] [reset_type] | DebugOnly | No — never registered | server_commands.sim_commands:1516 |
situations.reset | none | DebugOnly | No — never registered | server_commands.situation_commands:1571 |
achievements.reset_data | [opt_sim] | DebugOnly | No — never registered | server_commands.achievement_commands:11 |
aspirations.reset_data | [opt_sim] | DebugOnly | No — never registered | server_commands.aspiration_commands:27 |
stats.reset_daily_cap | [opt_sim] | DebugOnly | No — never registered | server_commands.statistic_commands:894 |
autonomy.reset_autonomy_alarm | [opt_sim] | DebugOnly | No — never registered | server_commands.autonomy_commands:359 |
The eleven unrunnable rows are the point of this table. Across the whole game, 1,847 command registrations exist and 633 of them can ever be reached by a player; the rest are DebugOnly, which never reaches registration in a shipped build, or Automation, which is driven through an internal channel. sims.reset in particular circulates widely as a player cheat and is registered as Automation, eleven lines above resetsim in the same module.
One standing caveat applies to every row. The extraction proves the game registers the command at that module and line. It does not prove what the command does to your save. Where this page describes an effect, that description comes from somewhere other than the registration and is labelled.
Using resetsim
- Open the console. Ctrl + Shift + C on PC and Mac; all four shoulder buttons together on PlayStation and Xbox.
Expected result: a text bar at the top of the screen.
If it fails: on Mac you have almost certainly pressed Command instead of Control. On PC another application may have taken the shortcut; screen-capture and chat tools bind it. - Type the command with both names. For example
resetsim Bella Goth. The registration takes first name and last name as two separate arguments.
Expected result: the console accepts the line.
If it fails: a nickname, a maiden name or a missing surname will not resolve. - Check the name resolves, if nothing happened.
sims.get_sim_id_by_nametakes the same two arguments and is registered thirteen lines below resetsim in the same module.
Expected result: an id comes back, which proves the game found that Sim by that name.
If it fails: the spelling is wrong, or the Sim is not loaded in the current zone. - If the problem is an object rather than a Sim, turn testing cheats on and use
objects.resetwith the object id instead.
testingcheats true
Registered at server_commands.cheat_commands:22. resetsim does not need it. Every row on this page marked Cheat does.
When resetsim does not fix it
| Rank | Cause | How to confirm it | Fix |
|---|---|---|---|
| 1 | The name does not resolve | sims.get_sim_id_by_name with the same two names returns nothing | Use the Sim's exact first and last name as the game holds it, not a displayed nickname |
| 2 | The object is stuck, not the Sim | Every Sim who tries that one item fails the same way | Enable testing cheats and reset the object with objects.reset |
| 3 | A mod is throwing every time the interaction runs | A last exception file appears in Documents\Electronic Arts\The Sims 4 with today's timestamp | Read the top frame, remove the named mod, check its creator's page for a build matching your game version |
| 4 | Mods were disabled by a patch and half a mod is loading | Both settings are unticked under Game Options, then Other | Re-tick Enable Custom Content and Mods and Script Mods Allowed, restart fully |
| 5 | Two copies of the same mod in the folder | Two files whose names differ only by version | Delete every older copy, keep exactly one |
| 6 | Stale cache | Everything above is clean and behaviour is still wrong | Delete localthumbcache.package from Documents\Electronic Arts\The Sims 4 and restart |
Last exception files
They live in Documents\Electronic Arts\The Sims 4, one folder above Mods, and they are written with an .html extension. The game produces them through a native logging call: the Python side builds a report string and hands it to the native trace logger, which writes the file.
The reason these files matter more in The Sims 4 than in most games is that they are the only channel. The function that would show an error dialog in game is compiled out of the retail build; its first two instructions return immediately and the rest of the body is dead code. Nothing appears on screen when a mod throws, so if you do not open these files, nothing tells you anything went wrong.
Reading one
The report is a single record with named fields. Opening it in a text editor is enough; a browser will render it as one run-on line.
| Field | What it holds | What you do with it |
|---|---|---|
version | The report format version, currently 2 | Nothing. It confirms you are looking at the right kind of file. |
sessionid | The play session the error came from | Group several files: same session id means one run of the game. |
type | Always desync for these reports | Nothing. It is the transport label, not a diagnosis. |
createtime | Local date and time, formatted year-month-day hour:minute:second | Read this first. If it does not match when the problem happened, this is not your file. |
buildsignature | The build the game was running | Check it against the mod you suspect. A mismatch between game build and mod build is the most common cause. |
categoryid, desyncid | Internal identifiers for the error | Useful only for matching duplicate reports against each other. |
desyncdata | The message and the stack trace | The whole diagnosis. The top frames name the module that threw, which usually names the mod. |
systemconfig, screenshot | Empty elements in these reports | Nothing. They are placeholders, not missing data. |
Two details make the traces more readable than they look. When the callstack helper runs, it dumps local variables alongside each frame, truncated at 1,024 characters each, so you often see the actual value that caused the failure rather than only where it happened. The game also keeps four of its own logging modules out of stack traces, so the frames you see are the ones that matter rather than the logger's own plumbing.
A last exception is not automatically a broken game
The game wraps each service dispatch in its own error handler and logs the failure instead of aborting. A mod service that throws while a zone loads produces a file and the zone still loads. That is why players find folders full of these and cannot connect any of them to a symptom.
So the order is: timestamp first, then the top of the trace, then the mod it names. A file from three weeks ago tells you nothing about today; one written at the moment your Sim froze is the file to read.
The tool that reads them for you
Better Exceptions by TwistedMexi produces enhanced exception reports that identify the cause of gameplay errors, interface problems, mod conflicts and CAS glitching, which is the reading described above done for you. It is a free public release and the download link is TwistedMexi's own Patreon post, listed as current on twistedmexi.com. That policy permits linking to those upload sites and forbids uploading the files anywhere else, which is exactly the arrangement here. No version number or release date is published for it anywhere we could read, so this page states none.
If the failure arrived with a game update rather than out of nowhere, the build history and what each patch changed is at patch notes. If a mod is loading only half of itself, the folder rules and the two settings are at how to get mods in sims 4.
Common questions
How do I reset a Sim in The Sims 4?
Press Ctrl + Shift + C, type resetsim followed by the Sim's first and last name, and press Enter. The command takes two separate arguments, so both names are needed and both must match the Sim exactly. It is one of only eleven commands printed in the game executable's own console help table, and one of only three of those eleven that the game also registers in Python.
Does resetsim need testing cheats turned on first?
The registration says no. resetsim is declared as a Live command, and Live commands are callable without the cheat switch, unlike the 86 commands declared as Cheat. Plenty of guides tell you to enable testing cheats first anyway. Doing so costs nothing and is required for most of the other commands on this page, so it is a reasonable habit rather than a requirement.
Why does sims.reset do nothing when I type it?
Because it is registered as an Automation command. Automation commands are driven through the game's automation channel rather than the player console, so typing one by hand gets you nothing. sims.reset, sims.hard_reset and sims.remove_all_buffs are all in that category, and all three are easy to mistake for player cheats, because a command list gives no hint of the type the registration declares.
Where are the last exception files kept?
In Documents\Electronic Arts\The Sims 4, one folder above Mods. They are written as .html files. The game produces them through a native logging call, and because the in-game error dialog is compiled out of the retail build, these files are the only way an error ever reaches you. Nothing pops up on screen when a mod throws.
Does a last exception file mean my game is broken?
Not on its own. The game wraps each service dispatch in its own error handler and logs the failure rather than aborting, so a mod that throws during zone load leaves a file behind while the zone still loads. Read the timestamp and the top of the traceback first. A file dated three weeks ago is not the reason today's Sim is stuck.
The Sim is fine but the object is stuck. What then?
objects.reset takes the object id and is registered as a Cheat command, so testing cheats has to be on first. That is the object equivalent of resetsim and it is registered in a different module, server_commands.object_commands. If a Sim keeps failing on one particular item, reset the item rather than the Sim.