Save manager and editor for Steam (open-source)

Hi!

I’ve created a save manager in Unity 3D game engine that allows you to manage your CoG game’s save files (Steam only). It’s completely open-source and here are its main features:

  • You can save your progress manually and/or automatically. By default, the game is automatically saved as you progress through the story (i.e. whenever you progress to the next page of the game) so that you can undo your latest choices
  • You can edit your save files (stats etc.) with a built-in save editor
  • You can create more than one playthrough for each game. Each playthrough will have its own save files

Available at: https://github.com/yasirkula/UnityChoiceOfGamesSaveManager (Windows executable is included but for Mac/Linux, you have to build the app manually in Unity 3D)

Hope you find it helpful and any feedback is welcome!

PlaythroughSelectionDialog

42 Likes

The hero we need.

9 Likes

This is amazing. I’ve wanted a CoG save system for so long. :,)

I only regret that I have but one Like to give.

(Well, alright, I also regret having to point out each game’s save location individually, but still… worth it.)

4 Likes

@Phenixmirage Thank you for your support! Quoting the documentation:

You don’t have to give different storage locations for different games because the application automatically groups saves per game

So, you don’t have to change the save folder at all :smiley:

4 Likes

i don’t have steam but this is really cool. Thanks for creating this.

2 Likes

Ah, I meant Steam’s game save directory, not the program’s CoG save storage folder! The latter recognize and appreciate. :smile: Unless I missed a feature (entirely possible) the program doesn’t detect the Steam save path automatically. But it remembers them once they’ve been pointed out, so it’s a relatively minor quibble. Still overall a massive QoL improvement over manual copy/paste.

If I you’re looking for improvement suggestions, including an auto detect or mass import for file paths would be great, as would the ability to rename games (ie, “aegisproject180files” into “180 Files: The Aegis Project”).

2 Likes

I see. On my Windows, the save manager can actually find all apps in the Steam save folder automatically (so, when I click the grey box where the game’s title is displayed, I find the list of games pre-populated). May I ask where your Steam save files are located at? Mine is at “C:\Program Files (x86)\Steam\userdata”.

The game names are fetched from the save file’s filename (storePSaegisproject180filesPSstate). I don’t think I can fetch the game’s full name automatically because the full name isn’t stored anywhere in the save folder. Perhaps Steam Web API can be used to get the full name, I’ll see if it’s possible without an API key. Renaming the games manually isn’t currently possible and I believe it should have a low priority since most game names are already pretty explanatory (aegisproject180files). I may add an option to rename the game later on but as I said, it’s currently a low priority for me.

All your feedback are very much appreciated. Please keep them coming as you think of other features/ideas.

2 Likes

Mine are in (D:\Steam\userdata).

And yeah, renaming is a fairly minor feature overall and is mainly for long list readability. The Aegis Project is a notable one just because the file name and the title differ more significantly than most. To be honest, I suggested manual renaming because I figured it would be easier than figuring out how to tap the API or, worse, asking you to make a list by hand!

Would it be possible to refer to a spreadsheet for the information? For example, columns for SteamID, game file name (as a default display), display title, and sort title (to avoid alphabetizing by a / an / the). Exporting the program’s current game list to a .csv, would allow a good starting point for users to manage their own lists. Alternatively, being able to reference Google sheets could could make for a good community resource. (All of the above would, of course, be ideal.)

Unrelated to the above, would it be possible for the program to automatically close and restart the game for loading saves? Perhaps with a customizable, toggle-able time delay to account for Steam cloud sync. Customizable, to account for different connection speeds (is 3 seconds a good default?), toggle-able, for those with cloud sync turned off. The restart itself should probably also be toggle-able, for those who’d rather do it themselves.

I have no idea how much is possible through Unity, so I understand if these asks are more complicated than they seem. :sweat_smile:

I’ll make 2 modifications soon:

  • Steam saves folder will be configurable
  • Games’ readable names will be fetched from a JSON file that I’ll maintain on GitHub (I’ll accept pull requests on that file, or if user doesn’t have a GitHub account, they can contact me with the proposed changes and I’ll commit those changes myself)

On at least Windows, it is possible to restart an executable as you’ve suggested. But I’m not optimistic about this because I don’t want antivirus softwares to think that my save manager is a malicious software that can close/start processes on its own. When an antivirus falsely accuses (false positive) an app for being a, say, trojan virus, most users will understandably stop using that app. I don’t want that to happen to my save manager.

P.S. As promised, the new version (v1.2.3) is now live:

  • You can’t set Steam saves folder manually but it WILL be set automatically after you pick a Game Save Directory manually. Then, if you restart the save manager, you’ll see that it detects all the games automatically
  • Game names are fetched from this JSON file. Any help expanding it is greatly appreciated
3 Likes