First distinguish downed from dead
If a help-up interaction remains, approach and complete it without hitting him. For a dead companion, loading a save from before his death restores that earlier world, at the cost of progress made afterwards.
The console command addcharacter robby creates another Kelvin. It does not recover the original character’s identity, relationships or previous state.
Identify and back up the world
Close the active game session. The Windows save root is:
%USERPROFILE%\AppData\LocalLow\Endnight\SonsOfTheForest\Saves
Choose the correct Steam account, then the SinglePlayer or host Multiplayer world and save slot. Use its modification time and thumbnail to identify it; do not blindly edit whichever folder appears newest. In co-op, the host’s world save is required. A client’s character save is not a substitute.
Copy the whole slot folder to a separate backup location, including the original archive and other files. Inspect SaveData.zip for GameStateSaveData.json and SaveData.json at the archive root. If the slot uses loose JSON files, confirm which files are actually in use. Missing files or a different layout are reasons to stop applying this specific method.
Restore the existing actor
- In
GameStateSaveData.json, change the world’sIsRobbyDeadfromtruetofalse. - In
SaveData.json, find the existing character in theVailWorldSim→Actorscollection. ItsTypeIdis 9 and the actor has fields such asUniqueId,Position,StateandStats. - Change that actor’s dead
Stateto 2 and setStats.Healthto 100.0. If Health is missing, add it inside the same Stats object while preserving valid JSON. - Preserve its original identity, coordinates and remaining data. Do not copy another player’s UniqueId.
TypeId 9 also occurs in KillStatsList. Do not replace the first search result or every occurrence of 9. The documented editor also resets a corresponding PlayerKilled statistic to 0 where it exists and handles related influence data. Changing only the death boolean is not sufficient evidence of a complete recovery.
For tool assistance, open a backup copy with SOTFEdit’s File → Open Savegame, select Kelvin under Followers, use Revive, then File → Save. Its separate Spawn action creates a replacement. If the original actor is missing, the editor’s Revive path can also create a new follower; the button label alone does not prove identity was preserved.
Keep the archive and JSON intact
Some Data fields contain a second JSON document encoded as a string. Edit the inner document and serialise it again, preserving the outer field’s type and escaping.
Update only the changed entries inside the original ZIP. Retain all other entries and the original root layout. Do not convert it to RAR, add an outer folder, pack the backup directory into it or recreate a save containing only the two edited JSON files.
Load and check the result
Load the same world. Confirm that Kelvin appears, accepts commands and does not immediately collapse again. Then save in a new slot. If the result is wrong, exit and restore the complete backup.
Steam Cloud may overwrite local edits. If a change disappears, inspect the local files and timestamps before concluding that the recovery logic failed.
When the original record is gone
An absent original actor cannot be recreated with its original identity by toggling IsRobbyDead. Look for an older save containing that record if preserving the original companion matters. Multiple Kelvin records, an unfamiliar schema or damaged data require separate investigation, rather than pasting an actor from another world.
Restoring survival does not guarantee every relationship, story or achievement flag. The method is supported for documented archive structures, not every later game build.