Steam Cloud: Offline Character Sync

I’m actually a bit taken back that offline characters aren’t synced on Steam Cloud. Really disappointing.

I would play online but I just can’t because I need to be able to pause the game (yay being an adult)

There are 2 offline modes in LE:
-Fully offline, selected on launching the game from steam (with the option of a shortcut so you don’t even need steam open). This has no server connection at all, which is what was requested from players. So this can’t sync to steam because that would require server connection.
-Online offline: this is when you launch the game normally and select the offline option. I don’t know if you can pause in this mode, but this should sync characters. It does have server connection (including chat), however.

They should make it work for full offline character. There is no reason that full offline character can’t be saved via Steam Cloud. It does not require any connection to LE servers, only to Steam.

Because that’s what the players requested. They wanted a client that, after the first initial connection, didn’t connect to the internet AT ALL. EVER.
If you want cloud sync, just play the online offline version. Both exist, so you can choose which you prefer.

1 Like

Yes, if you log in and choose offline, you can Pause the game using ESC. You will be able to play the characters you created in Full Offline. If you mostly play Full Offline for any reason, it’s a good idea to log in regularly so that your characters can be backed up to Steam Cloud.

Full Offline is just that: Full Offline. You’re responsible for your own backups.

1 Like

My point is that steam cloud sync DOES NOT sync the offline characters.

And are you playing the online version of offline mode? That one should sync, in my opinion. If it doesn’t, it might simply be a bug.

Of course not. You have to log into the game for steam to connect with the game on your computer. Steam doesn’t go randomly looking around your computer for goodies.

Yet.

I’m online on Steam when I start “Full Offline” Last Epoch.
Even if I was playing Offline without “Full Offline”, LE can have Steam Cloud sync the
/path/to/config/unity3d/Eleventh Hour Games/Last Epoch/Saves/<Character Slot> other Steam games do it that are offline.

A simple test I just did with “Offline character” without Full Offline
I just tested the character file creation by:

  1. Start LE in Online mode
  2. Go click Go Offline Button and create a character
  3. Exit LE
  4. Start LE on Steam Deck

Offline character, even when not in Full Offline mode, does not sync.

LE should remove “Steam Cloud” from the store page or have a big disclaimer about it.

Update:
Even when playing Full Offline mode on Steam…steam cloud is still syncing something.

Update 2:
A potential work around for manually syncing offline characters:

  1. Set up a symlink to /path/to/config/unity3d/Eleventh Hour Games/Last Epoch/Saves/ that points to a directory in your cloud storage (Google drive, Nextcloud, etc)
  2. Now repeat step 1 for all devices you’re playing on

I haven’t tested the thing above, but I suspect it could work. I’ll give it a go when I get home.

Of course it does. All my single player games are full offline and have Steam Cloud. The save files generated by the game are synced when the game closes.
Grim Dawn is full offline and does cloud save since it released. There’s no game or server code required, Steam does the job if the developers let it.

1 Like

Exaclty.

The offline character data looks to be a JSON file.
Here’s the structure for it:

{
  "partitionKey": null,
  "characterName": "ThisIsATest",
  "level": 1,
  "slot": 0,
  "currentExp": 0,
  "hardcore": false,
  "died": false,
  "deaths": 0,
  "masochist": false,
  "closedPassivesTooltip": false,
  "closedSkillsTooltip": false,
  "closedMonolithTooltip": false,
  "closedIdolsTooltip": false,
  "closedMinSkillLevelTutorial": false,
  "characterClass": 1,
  "savedItems": [
    {
      "itemData": null,
      "data": [
        2,
        8,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "inventoryPosition": {
        "x": -1,
        "y": -1
      },
      "quantity": 1,
      "containerID": 30,
      "formatVersion": 2
    },
    {
      "itemData": null,
      "data": [
        2,
        1,
        16,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "inventoryPosition": {
        "x": -1,
        "y": -1
      },
      "quantity": 1,
      "containerID": 30,
      "formatVersion": 2
    },
    {
      "itemData": null,
      "data": [
        2,
        2,
        3,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "inventoryPosition": {
        "x": -1,
        "y": -1
      },
      "quantity": 1,
      "containerID": 30,
      "formatVersion": 2
    },
    {
      "itemData": null,
      "data": [
        2,
        3,
        7,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "inventoryPosition": {
        "x": -1,
        "y": -1
      },
      "quantity": 1,
      "containerID": 30,
      "formatVersion": 2
    }
  ],
  "savedCharacterTree": {
    "treeID": "",
    "version": 0,
    "nodeIDs": [],
    "nodePoints": [],
    "unspentPoints": 0,
    "nodesTaken": null
  },
  "savedSkillTrees": [],
  "characterTreeNodeProgression": [],
  "unlockedWaypointScenes": [],
  "openedOneShotCaches": [],
  "abilityBar": [
    "lb23il",
    "na28",
    "na28",
    "na28",
    "ba1"
  ],
  "moveButtonBehaviour": 0,
  "werebearAbilityBar": [],
  "sprigganFormAbilityBar": [],
  "swarmbladeAbilityBar": [],
  "portalUnlocked": false,
  "reachedTown": false,
  "soloChallenge": false,
  "soloCharacterChallenge": false,
  "respecs": 0,
  "uniquesPickedUp": 0,
  "savedQuests": [
    {
      "questID": 127,
      "questStepID": 721,
      "state": 0,
      "questBranch": 0,
      "completeObjectives": [],
      "failedObjectives": [],
      "nolongerRelevantObjectives": [],
      "objectiveProgress": [],
      "trackStatus": 0
    }
  ],
  "savedMonolithQuests": [],
  "maxWave": 0,
  "competitiveCharacterVersion": 17,
  "oneTimeEvents": [],
  "focusedQuest": -1,
  "sceneProgresses": [],
  "monolithRuns": [],
  "timelineCompletion": [],
  "timelineDifficultyCompletion": [],
  "timelineDifficultyUnlocks": [],
  "currentMonolithRunTimelineID": 0,
  "currentMonolithRunDifficultyIndex": 0,
  "currentMonolithRunToSetBack": 0,
  "currentMonolithRunToSetBackDifficultyIndex": 0,
  "previousMonolithEchoTimelineID": 0,
  "previousMonolithEchoDifficultyIndex": 0,
  "monolithEchoesConquered": 0,
  "monolithTimelinesConquered": 0,
  "monolithOptions": [],
  "activeMonolithMods": [],
  "monolithDepth": 0,
  "hasRerolledMonolithOptions": false,
  "chosenMastery": 0,
  "clickedUnlockMasteriesButton": false,
  "currentArenaRunWaves": 0,
  "previousArenaRunWaves": 0,
  "arenaTiersCompleted": [],
  "blessingsDiscovered": [],
  "dungeonCompletion": [],
  "lanternLuminance": 0.0,
  "soulEmbers": 0,
  "_ts": 0,
  "lastPlayed": "0001-01-01T00:00:00",
  "cycle": 2,
  "factions": {},
  "createdAt": null,
  "id": "0",
  "seqNo": 2,
  "_etag": null,
  "version": 0
}

There’s really no reason why this isn’t synced using Steam Cloud.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.