Sims4UICheats

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.

Verified against game build 1.126.73.1030
Why a Sims 4 cheat did nothingChecks in order: is the console open, did you run testingcheats true, is the command one of the 633 that work in a retail game, and do you own the pack that gates it.A cheat did nothing: what to checkOrdered by how often each one turns out to bethe answer.Nothing happenedYou typed it, pressed Enter, and the game didnot react.Is the console actually open?Ctrl + Shift + C in Live mode. Typing at thegame is not typing at the console.Did you run testingcheats true?Cheat-type commands are refused without it,once per session, every session.Is it a command that can work?Of 1,847 registered, 1,214 are DebugOnly orAutomation and do nothing in a retail game.Do you own the pack it needs?A pack-gated command only registers when itspack is installed.
Ordered by how often each one turns out to be the answer.

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.

CommandArgumentsTypeRuns for a playerRegistered at
resetsim
[first_name] [last_name]LiveYesserver_commands.sim_commands:1023
sims.get_sim_id_by_name
[first_name] [last_name]LiveYesserver_commands.sim_commands:1036
pivotal_moments.reset
noneLiveYestutorials.pivotal_moment_commands:92
pivotal_moments.reset_with_rewards
noneLiveYestutorials.pivotal_moment_commands:103
objects.reset
[obj_id] [expected]CheatYes, after testingcheatsserver_commands.object_commands:453
sims.remove_buff
<buff_type> [opt_target]CheatYes, after testingcheatsserver_commands.sim_commands:731
household.fix_collections
[full_check]CheatYes, after testingcheatsserver_commands.household_commands:720
lifestyles.reset_all
[sim]CheatYes, after testingcheatstraits.trait_commands:152
scenarios.reset_active_phase
noneCheatYes, after testingcheatsserver_commands.scenario_commands:103
scenarios.reset_goal
<situation_goal>CheatYes, after testingcheatsserver_commands.scenario_commands:141
sims.reset[opt_sim]AutomationNo — automation channel onlyserver_commands.sim_commands:1012
sims.hard_reset[opt_sim]AutomationNo — automation channel onlyserver_commands.sim_commands:1376
sims.remove_all_buffs[opt_target]AutomationNo — automation channel onlyserver_commands.sim_commands:760
sims.reset_allnoneDebugOnlyNo — never registeredserver_commands.sim_commands:1057
sims.reset_multiple[obj_ids ...]DebugOnlyNo — never registeredserver_commands.sim_commands:1048
sims.reset_periodically[enable] [interval] [reset_type]DebugOnlyNo — never registeredserver_commands.sim_commands:1516
situations.resetnoneDebugOnlyNo — never registeredserver_commands.situation_commands:1571
achievements.reset_data[opt_sim]DebugOnlyNo — never registeredserver_commands.achievement_commands:11
aspirations.reset_data[opt_sim]DebugOnlyNo — never registeredserver_commands.aspiration_commands:27
stats.reset_daily_cap[opt_sim]DebugOnlyNo — never registeredserver_commands.statistic_commands:894
autonomy.reset_autonomy_alarm[opt_sim]DebugOnlyNo — never registeredserver_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

  1. 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.
  2. 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.
  3. Check the name resolves, if nothing happened. sims.get_sim_id_by_name takes 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.
  4. If the problem is an object rather than a Sim, turn testing cheats on and use objects.reset with 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

RankCauseHow to confirm itFix
1The name does not resolvesims.get_sim_id_by_name with the same two names returns nothingUse the Sim's exact first and last name as the game holds it, not a displayed nickname
2The object is stuck, not the SimEvery Sim who tries that one item fails the same wayEnable testing cheats and reset the object with objects.reset
3A mod is throwing every time the interaction runsA last exception file appears in Documents\Electronic Arts\The Sims 4 with today's timestampRead the top frame, remove the named mod, check its creator's page for a build matching your game version
4Mods were disabled by a patch and half a mod is loadingBoth settings are unticked under Game Options, then OtherRe-tick Enable Custom Content and Mods and Script Mods Allowed, restart fully
5Two copies of the same mod in the folderTwo files whose names differ only by versionDelete every older copy, keep exactly one
6Stale cacheEverything above is clean and behaviour is still wrongDelete 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.

FieldWhat it holdsWhat you do with it
versionThe report format version, currently 2Nothing. It confirms you are looking at the right kind of file.
sessionidThe play session the error came fromGroup several files: same session id means one run of the game.
typeAlways desync for these reportsNothing. It is the transport label, not a diagnosis.
createtimeLocal date and time, formatted year-month-day hour:minute:secondRead this first. If it does not match when the problem happened, this is not your file.
buildsignatureThe build the game was runningCheck it against the mod you suspect. A mismatch between game build and mod build is the most common cause.
categoryid, desyncidInternal identifiers for the errorUseful only for matching duplicate reports against each other.
desyncdataThe message and the stack traceThe whole diagnosis. The top frames name the module that threw, which usually names the mod.
systemconfig, screenshotEmpty elements in these reportsNothing. 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.