.bat
Windows Batch files).sStartingConsoleCommand=bat <path>
with a path to the basename of the file.
myFileName.txt
becomes myFileName
.data/myFileName.txt
(relative to the root of the game directory) becomes "data\myFileName"
for a full argument of sStartingConsoleCommand=bat "data\myFileName"
.Batch command modding is a basic way to mod the game. The gist of it is that much of the game's base behavior and graphics can be changed by simple console commands. Many of these commands set global variable via the setgs
command to change AI behavior weights and probabilities.
Console commands can be input during runtime by pressing the backtick/tilde key (`
/~
). However, the values these commands set will be lost the game is restarted.
This is where basic INI editing comes in.
You can install a batch file to the game root directory or the data subdirectory to run batch commands. The bat
command is used to run a batch file, which is a file that ends with the .txt
extension. The bat
command accepts a filename's base name, which is the filename without its last extension.
The following example syntaxes are allowed if commands are in a batch file named MyFileName.txt
or My File Name With Spaces.txt
:
bat MyFileName
bat "MyFileName"
bat "My File Name With Spaces"
bat "data\MyFileName"
bat "data\My File Name With Spaces"
Best practice: Always double quote the basename, and never use spaces in a filename if you can help it.
It is unknown if the command is case sensitive with respect to file base name. If in doubt, match the filename's casing exactly.
If you have several batches of commands, then you can combine them into one file, or call the bat
command in a file that will execute all other files in sequence.
The StarfieldCustom.ini
file can override entries within Starfield.ini
, and is safe between updates of the game.
If you are using a capable mod manager, such as Mod Organizer, you will have access to a simple INI edit feature. Use that instead and skip the rest of this section.
If you wish to continue with manual edits or understand the filesystem layout intricacies, proceed through this section.
The StarfieldCustom.ini
file is kept in Documents\My Games\Starfield
(open via PowerShell by Invoke-Item ([Environment]::GetFolderPath("MyDocuments") + "\My Games\Starfield")
), and will not be present on a fresh install.
By adding to the [General]
section the line sStartingConsoleCommand=bat "<path_to_basename>"
, you can automate the execution of these commands.
The command will be the same syntax as you would input into the game's console. The following lines are valid:
sStartingConsoleCommand=bat MyFileName
sStartingConsoleCommand=bat "MyFileName"
sStartingConsoleCommand=bat "My File Name With Spaces"
sStartingConsoleCommand=bat "data\MyFileName"
sStartingConsoleCommand=bat "data\My File Name With Spaces"
If there are multiple sStartingConsoleCommand entries present, it is expected the last such entry will take precedence and override all others. If you wish to comment out lines, start the line with
;
.
If the batch command is successful, you will get output in the game console starting at the main menu after a short wait (around 30 seconds). Here is an example of Experimental Combat and Stealth Tweaks loading:
Here is an example of an error, because the file is not present:
If you wish to use a mod manager, you can place the batch file in the data directory, and then construct the sStartingConsoleCommand
to match with the new path to basename. Note that an INI edit will need to be made to uninstall or update when adding new batch files.
If you need to combine INI files, you could make the following batch file, naming it something such as combined.txt
:
bat "data\MyMod1"
bat "data\MyMod2"
And set the following in StarfieldCustom.ini
:
[General]
sStartingConsoleCommand=bat "Data\combined"