Baldur's Gate 3
0 of 0

File information

Last updated

Original upload

Created by

Volitio

Uploaded by

VoIitio

Virus scan

Safe to use

About this mod

Create autosaves at intervals while avoiding saving during action - postpone saves for after dialogue, trading, combat, etc (fully configurable with a JSON file).
Inspired by Aether's Auto Saver.

Requirements
Permissions and credits
Changelogs
Donations
Overview
Smart Autosaving is a mod designed to autosave regularly while minimizing gameplay interruption. Works with single-save mode.
The mod works out of the box, but you can configure a lot of options through a JSON file.

Features

  • Condition-based autosaving: The mod autosaves at regular intervals (10 minutes by default), but it also checks various in-game states, like whether the player is in dialogue, trading, combat, lockpicking, etc. Based on these checks, it decides whether to trigger an autosave.
  • Autosave postponement: If a save is due (based on the timer) but the player is in a restricted state (like dialogue), instead of skipping the autosave entirely, the mod waits until the player leaves that state before autosaving.
  • Save and load-aware: The mod will reset the timer if any other save is created, be it manual or otherwise, or when loading saves, so as to not create saves unnecessarily. You set it to save every 15 minutes but you saved at minute 14? It will now autosave only after minute 29.

Installation

  • Download the .zip file and install using BG3MM.

Requirements
- Volition Cabinet
- BG3 Script Extender (you can easily install it with BG3MM through its Tools tab or by pressing CTRL+SHIFT+ALT+T while its window is focused)

Configuration
As of version 2.0.0, Smart Autosaving supports configuration via a smart_autosaving_config.json file! When you load a save with the mod for the first time, it will automatically create this JSON file with default options (saves every 10 minutes, postponement enabled for all events).

You can easily navigate to it on Windows by pressing WIN+R and entering
explorer %LocalAppData%\Larian Studios\Baldur's Gate 3\Script Extender\SmartAutosaving

Open the JSON file with any text editor, even regular Notepad will work. Here's what each option inside does (order doesn't matter):


"FEATURES": Configures game events that affect autosaving behavior.
"POSTPONE_ON": Determines when autosaves are postponed.

"combat"              : Set to true to postpone autosaving during combat. Enabled by default.
"combat_turn"         : Set to true to allow autosaving during combat, but only after your turn ends
(these two aren't mutually exclusive). Enabled by default.
"dialogue"            : Set to true to postpone autosaving during dialogue. Enabled by default.
"idle"                : Set to true to postpone
autosaving if you're idle. Enabled by default.
"lockpicking"         : Set to true to postpone autosaving during lockpicking. Enabled by default.
"looting_characters"  : Set to true to postpone 
autosaving when looting characters. Enabled by default.
"movement"            : Set to true to postpone 
autosaving when any party member is moving. Enabled by default.
"respec_and_mirror"   : Set to true to postpone 
autosaving when respeccing or using the mirror. Enabled by default.
"trade"               : Set to true to postpone 
autosaving when trading/bartering. Enabled by default.
"turn_based_mode"     : Set to true to postpone 
autosaving when in turn-based mode. Enabled by default.
"using_items"         : Set to true to postpone 
autosaving when using items. Enabled by default.

"TIMER": Configures the autosaving timer.
"autosaving_period_in_minutes" : Interval in minutes for autosaving. Set to 10 for a ten-minute interval.
"load_aware"                   : Set to true to reset the timer upon loading a save. Enabled by default.
"save_aware"                   : Set to true to reset the timer when any save is made. Enabled by default.

"GENERAL": General mod settings.
"enabled" :
Set it to false to disable the mod without uninstalling it. Enabled by default.


"DEBUG": Controls debug logging level.
"level":
Set to 0 for no debug, 1 for minimal, and 2 for verbose logs. You can ignore this[/size] if you're not a developer/debugging events.

Load a save to see your changes reflected, or run !sa_reload in the SE console.

Caveats

  • The mod requires autosaves to be turned on since it calls the same autosaving function as the vanilla game. They will both count towards the limit of autosaves you have set in the game's settings. There's also probably no way to replace vanilla autosaves, and they'll work in tandem.
  • I expect a few very specific unhandled edge cases to be present, but I don't plan on solving them. Feel free to report them, though.
  • The mod works in multiplayer, but players performing certain operations simultaneously (looting containers, etc) might cause unintended autosaves for at least one of the players. I do not intend to address these scenarios by implementing a system that manages the interactions/states of all players.
  • Just like with Aether's mod, having cloud saves enabled might potentially cause your game to freeze up with this mod installed.

Compatibility
This mod should be compatible with most game versions and other mods, as it mostly just listens to game events and triggers autosaves.

Special Thanks

Thanks to Aetherpoint for her original mod, which served as an inspiration to improve upon; to FocusBG3 for providing some helper functions through Focus Core; to folks over Larian's Discord server; and to Norbyte, for the script extender.

Source Code
The source code is available on GitHub or by unpacking the .pak file. Endorse on Nexus and give it a star on GitHub if you liked it!

My mods
Waypoint Inside Emerald Grove - 'adds' a waypoint inside Emerald Grove
Auto Send Read Books To Camp - send read books to camp chest automatically
Auto Use Soap - automatically use soap after combat/entering camp
Send Wares To Trader - automatically send all party members' wares to a character that initiates a trade
Preemptively Label Containers - automatically tag nearby containers with 'Empty' or their item count
Smart Autosaving - create conditional autosaves at set intervals
Auto Send Food To Camp - send food to camp chest automatically
Auto Lockpicking - initiate lockpicking automatically