Skip to content

Quick Search

Search DEVKEY BLOG

Go back
Devkey

How to unlock Limbo 6 in Shape of Dreams by editing save files

Shape of Dreams' Limbo 6 can be unlocked by editing the save JSON, not the game's config file. In this example, I make Bismuth count as having cleared Limbo 5 so that depth 6 becomes selectable. Base Limbo opens with four Evil Lucid Dreams, but starting depth 6 requires all six.

  1. Shape of Dreams’ Limbo 6 can be unlocked by editing the save JSON, not the game’s config file. In this example, I make Bismuth count as having cleared Limbo 5 so that depth 6 becomes selectable.

    Base Limbo opens with four Evil Lucid Dreams, but starting depth 6 requires all six.

  2. Close the game, then back up the whole QuickSave folder:

    C:\Users\<username>\AppData\LocalLow\Lizard Smoothie\Shape of Dreams\QuickSave

    The two files to edit have the same ID:

    r_profile<UUID>.json
    r_stats<UUID>.json
  3. In r_profile<UUID>.json, mark these six pairs as unlocked. If one is already unlocked, you do not need to change it.

    Evil Lucid DreamAchievement ID
    LucidDream_FishScalesACH_BARE_SKIN_SUPREMACY
    LucidDream_GrievousWoundsACH_VIVID_DREAM
    LucidDream_MadLifeACH_MASTER_OF_EVASION
    LucidDream_MarshOfDestinyACH_EMPRESS_OF_PAIN
    LucidDream_OverpopulationACH_M_M_M_MONSTER_KILL
    LucidDream_PrudentJellyfishACH_WRIST_FRIENDLY_BUILD

    The values I changed for each pair were:

    Achievement data:
      isNew = true
      isCompleted = true
      currentProgress = maxProgress
      completeTimestamp = current Unix timestamp
      persistentVariables = null
    
    Lucid Dream:
      status = 2
      didReadMemory = false
      isNewHeroOrHeroSkill = false
      isAvailableInGame = true

    If you only change the Lucid Dream side, startup validation may revert it, so I changed the corresponding achievement data too.

  4. In the same file, set .root.preferredGameSettings.limbo to select Bismuth and Limbo 6.

    {
      "difficulty": "diffLimbo",
      "hero": "Hero_Bismuth",
      "lucidDreams": [
        "LucidDream_FishScales",
        "LucidDream_GrievousWounds",
        "LucidDream_MadLife",
        "LucidDream_MarshOfDestiny",
        "LucidDream_Overpopulation",
        "LucidDream_PrudentJellyfish"
      ],
      "allowDejavu": false,
      "customData": {
        "GameMod_Limbo::depth": "6"
      }
    }

    Keep existing fields that are not shown here, such as lobbyName and heroSelectedLoadoutIndex.

  5. In r_stats<UUID>.json, set Bismuth’s cleared depth to 5. Limbo progress is per character, so if you want to open depth 6 for another character, replace the hero name.

    .root.heroes.Hero_Bismuth.completedLimboDepth = 5
    .root.total.completedLimboDepth = 5

    After saving, run jq empty <filename> on both files to make sure they are still valid JSON before launching the game. If Steam Cloud reports a conflict, choose the edited local copy. Because this also changes achievement data, it may be reflected in Steam achievements.


Text-first cards so you can decide what to read next.


Previous Short
Palworld Dedicated Server would not accept Hamachi connections because of a Windows Firewall block rule
Next Short
How to unlock Limbo in Shape of Dreams by editing your save