Skip to content

Latest commit

 

History

History
107 lines (63 loc) · 6.55 KB

README.md

File metadata and controls

107 lines (63 loc) · 6.55 KB

Autosave

This is the missing autosave feature for Subnautica and Subnautica: Below Zero.

This mod will:

  • Automatically save your game every N seconds
  • Keep at most X of these autosaves for you to return to whenever you want (does not apply to games where perma death is active, see options!)

Never lose more than N (* X) seconds worth of gameplay due to bugs, glitches or mistakes again!

Installation

  1. Dependencies

  2. Download the latest zip file from either:

  3. Unzip the contents of the zip to the game's main directory (where Subnautica.exe or SubnauticaZero.exe can be found)

Configuration

  1. Use the in-game Options->Mods->Autosave menu

  2. Available options:

    "MinutesBetweenAutosaves": 15 - The time (in minutes) between autosave attempts. Must be at least 1.

    "MaxAutosaveSlots": 3 - The maximum amount of autosave slots. Must be at least 1. (This has no effect if perma death is active in your game).

    "MinimumPlayerHealthPercent": 25 - If player health is below this percent, no save will occur. Change to 0 to disable this option.

    "AutoSavePermaDeath": true - If true, autosaving will be scheduled on games with permanent death - but only one save slot is used.

    "ShowNameInSaveMenu": true - If true, adds a [slot] or [ASave|slot] to the save slot menu to help you identify which autosave belongs to which save slot.

    "PauseDuringSave": true - If true, pauses the game during save (as the original game does).

Contributing

Feel free to clone Bisa/Autosave from github and submit a pull-request with your contributions.

Kindly add a MIT license statement to either the file you are contributing with or, in the case of many files - a license file with details on which parts of the "software" you contributed with.

Translation

If you want to contribute a translation for this mod, please follow these steps:

  1. Copy the src\Languages\English.json
  2. Change the name to your language. It needs to match the file name in Subnautica\Subnautica[Zero]_Data\StreamingAssets\SNUnmanagedData\LanguageFiles
  3. Translate the file. Do not touch the keys ("AutosaveStarting"), only the translated values ("Autosave sequence...")

Building

If you want to build from source you may use the following variables:

  • Game - Either Subnautica (default) or BelowZero depending on which game you want to build for.

  • SubnauticaPath/SubnauticaZeroPath - The path to your install directory where msbuild can find the game, this will default to C:\Program Files (x86)\Steam\steamapps\common\Subnautica[Zero] depending on which Game you build for. (you can set both in your environemnt and use $(Game) to switch between them).

    WARNING! The $(Subnautica[Zero]Path)\QMods\Autosave directory will be removed on a succesfull build - resetting the mod to a clean installation.

  • Publicize - If set to true (default) this will publicize Assembly-CSharp.dll and Assembly-CSharp-firstpass.dll into $(GamePath)\Subnautica[Zero]_data\Managed\publicized_assemblies, please make sure that you have the AssemblyPublicizer.exe in your managed directory.

  • Author - This will be used to set the mod.json author for QMods, it will default to Bisa if left empty so forks should take care to update this parameter.

  • Tag - This will be used to set the AssemblyVersion and mod.json version for QMods, it will default to the value of git describe --tags --abbrev=0 being run within your working directory.

  • InfoVersion - This will be used to set the AssemblyInformationalVersion, it will default to the value of git describe --long --tags --dirty being run within your working directory and the value of -$(Configuration)_$(Game) will always be appended.

  • VersionCheckUrl - If supplied, this will add a section to mod.json for use by VersionChecker to check the latest version of this mod (defaults to an empty string).

  • NexusId - If supplied, this will add a section to mod.json with your provided Nexus Mod Id, used for example by QMod SAM or VersionChecker. It will default to Bisa's ids so forks should take care to update this parameter.

Example build command:

msbuild -t:Clean,Build -p:Configuration=Release -p:Game=Subnautica -p:GamePath="D:\steamapps\common\Subnautica"

FAQ

Q. Is this mod safe to add or remove from an existing save file?

A. Yes, the mod is using Subnauticas original SaveGameAsync() method and copies the resulting slot{0000} directory, it will not touch your original.

Q. Does this mod have any known conflicts?

A. No, but while you can install Subnautica Autosave, Safe Autosave and this mod - you probably should not due to redundancy.

Q. Does this mod impact performance?

A. It should not during normal circumstances, since using the original Subnautica SaveGameAsync() method gameplay will "freeze" for a few seconds when saving and then continue normally - just as if you pressed the save button yourself.

Credits

Source/Changelog

Bisa/Autosave on github