American Truck Simulator

American Truck Simulator

Not enough ratings
How to create and use settings presets
By San Sany4
If you need to change your settings often, for example, for enabling different electronic assists on different trucks for realism, there is a better way than doing it manually every time, or juggling several copies of config files. It's possible to make preset files to store all your custom settings in one convenient place, and apply any preset at any time with a short console command.

This guide is also available for Euro Truck Simulator 2
   
Award
Favorite
Favorited
Unfavorite
How it works
As many players know, the game has a console that allows to change all the settings in the game by entering commands. It is also possible to make a list of commands in a file, creating a "preset". Then, an "exec" command can be used to load the preset file and execute all the commands from the file at once. This makes for an easy way to store multiple settings presets and quickly change between them. It's much easier than changing all the setting manually each time. It's also much more convenient than having copies of config files, as all presets can be stored in a single file instead of 3 config files located in different places, and the presets can be changed on the go, without restarting the game.

The basic idea is simple: make a new text file, add all the necessary commands, save it, then apply settings by running "exec". For example, a file named "preset1.cfg", located in the game's home directory (Documents\American Truck Simulator on Windows, ~/.local/share/American Truck Simulator on Linux or $HOME/Library/Application Support/American Truck Simulator on MacOS), can be executed by typing in the console:
exec /home/preset1.cfg
It's also possible to store presets in subfolders and such, for example, if you make a subfolder called "presets" in American Truck Simulator folder, store your presets there, and apply them by typing:
exec /home/presets/my_cool_preset.cfg

You can make presets of any settings, including graphical settings, regional and language settings, UI settings, gameplay settings, physics settings, audio settings, device settings. However, it is not possible to make presets of keys, buttons and axes binds this way.

If you are a master of game console already, this should be enough for you. If not, the next sections will have a real example of possible usage of this feature.
A real world example
Here's an example of how this feature can be used. Let's say I have two trucks I love equally and change between them a lot: an old Peterbilt 389 and a newest Kenworth T680. But I prefer realism, and those trucks have very different set of options, especially electronic assistants, like rain sensor, and those options are settings in the game. I have to change a lot of in-game settings every time I switch between those trucks, and it's not convenient. What I can do instead, is to make a preset file for each truck, then when I switch trucks, I can change all the settings with a single console command.
Preliminary work
First, you need to enable the console. If you don't have it enabled, make sure the game is not running, then go to game's home folder (see above), and find the file called "config.txt". Open it with any text editor of your choice, e.g. Notepad, Notepad++, gedit, etc. Find the following two lines and change the values from "0" to "1":
uset g_developer "1" uset g_console "1"
Save the file. Now, for your convenience, disable the Steam Cloud synchronisation feature of the profile, it's not strictly necessary, but will make the following process easier.

Go to profile selection screen, then click on "Edit Profile":
Selecting the profile


Uncheck the "Use Steam Cloud" checkbox. There will be a warning, click "OK" :
Disabling the Steam Cloud for the profile


Click "Apply" button. Check that the "Steam cloud synchronization" says "Disabled", then load the profile.
Checking that the Steam Cloud is disabled
Setting up the first truck
I'll start with Kenworth T680. First, Audio settings tab. To simulate better sound insulation of a newer truck, I reduce some of the volume sliders values:
Reduced volume of various truck noises
Reduced volume of outside world noises


Then, Gameplay settings tab. I set the gearbox to Automatic, because that's what installed on the truck. I make the suspension and frame stiffer, cab suspension softer for comfort, and brakes more efficient.
Transmission and suspension settings


Then, I enable all the modern truck features, including all the sensors and some automation:
Assistants and other modern "smart" features are enabled


Finally, on Controls page, I set the steering wheel animation to 1080° and decrease the force feedback gain to simulate more powerful power steering:
Steering settings
Saving the first truck settings
You don't have to set all the settings like I did, this is just an example. You can set yours however you like. Exit the Settings menu, this is important, because the settings are saved when you close the menu. Minimize the game, you don't have to stop it, and go to game's home folder. Make a copy of "config.cfg" file. For easier identification later, you can rename the copy, for example, as "configT680.cfg".

Then, go to "profiles" folder, then open the folder of the profile you're making a preset for. If there's only a single subfolder in "profiles", congrats, that's the one you need. If you have more, you have to find the correct one. The folder names are your profile names in UTF-8 encoding, written in hexadecimal. You can search for any "UTF-8 to HEX" online converter and type your profile name into it, then compare with the folder name.

After locating the correct profile folder, go inside it. Make a copy of both "config.cfg" and "config_local.cfg" files. You can also rename them, for example, "configT680profile.cfg" and "config_localT680.cfg".

If you have changed any Force Feedback settings, or other steering wheel or pedals settings like steering sensitivity or deadzones, you also need a file "controls.sii". Make a copy and call it, for example, "controlsT680.sii".
Setting up the second truck
Now you can return to the game, and set the desired settings for the second truck, in my case 389.

Starting with sound again, I increase volume of the truck and surround sounds:
Increased volume of various truck sounds
Increased volume of outside sounds


Then, I change the transmission to manual (H-shifter). As this is an older truck, I make the suspension and frame less stiff, the cab stiffer, and the brakes weaker.
Transmission and suspension settings


I turn off all the fancy modern features, except ABS:
Assistants and other modern smart features are disabled


Finally, I set the steering wheel animation to 1800° and the force feedback stronger:
Steering settings
Making the presets
Now it's time to actually make the preset files. Create two new empty text files in the game's home directory. Rename them into something simple yet meaningful. I decided to call them "t680.cfg" and "389.cfg", but you can choose your own names. You don't have to change their file extension to ".cfg", you can keep them as ".txt" files or even leave them without extensions, it does not matter.

It's possible to dump all the settings from all three config files into each preset file and call it a day. But there's more efficient and elegant solution. You need to open both old and new config files and compare them, and select only the settings that were changed. You can do this using just your own eyes, of course, but there are free tools that make it so much easier. You can use a plugin for your text editor for comparing files, or you can use third-party software like Meld, or, the simplest solution, use any free comparison tool online. I recommend DiffCheck.io, but there are other websites as well with that functionality.

Go to the game's home folder, and open both the current "config.cfg" file and the copy you made before, in this example it's "configT680.cfg", in comparison mode. It will look something like this:
Two files being compared
All the lines with difference will be highlighted. Now, copy all the highlighted settings from one file to one of the preset files, and from the other file to the other preset. In this example, from "config.cfg" to "389.cfg", and from "configT680.cfg" to "t680.cfg". That's why I recommended renaming the copy, it's harder to mistake what goes where.

You don't have to copy the "uset " part, just copy the setting name and value, like this:
g_anti_slip "1"
Add all the values that are different between files, one on each line, to the preset files.

Then, go into the profile folder, and do the same for "config.cfg" and "config_local.cfg" there, with their respective copies, in this example "configT680profile.cfg" and "config_localT680.cfg". Add the settings from those to your preset files. If you changed your input device settings, compare also "controls.sii" and "controlsT680.sii" and copy the changed constants. Again, copy only the actual name and value, like this:
c_ff_gain 3.750000
Reminder: the key and button binds cannot be changed like that with presets, only the settings entry from "controls.sii" file can.

The ability to have all the desired settings in the same preset file, not spread across four config files, is why presets are superior than just keeping several copies of all the config files. Once made, presets are also easier to use when Steam Cloud sync is enabled, as it makes the game store one of the configs in a very different location within Steam folder.

You can add comments by making a new line starting with the hash or pound sign:
# This line is a comment and will be ignored
You can also use that to disable execution of any setting line without actually deleting it from the preset file, just add # in front of the line you want to disable.

At the end of the file, you can add an "echo" command that would indicate that the preset is executed successfully and the settings are changed. For example:
echo "Switched to KW T680 settings"

Finally, make sure that the preset files end with an extra empty line at the end of the file. Otherwise, the game will not be able to do the last command in the file.
Preset file examples
With this example, here are the content of the preset files I made with the settings as you see on the screenshots above.

Here's my t680.cfg:
# Kenworth T680 settings preset g_anti_slip "1" g_rain_sensor "1" g_blind_spot "1" g_lane_assistant "2" g_emergency_brake "2" g_acc "40" g_auto_diff_lock "1" g_automatic_high_beams "1" g_automatic_headlights "1" g_cruise_control_smart "5" g_adaptive_shift "10" g_cabin_suspension_stiffness "0.35" g_suspension_stiffness "0.65" g_driveshaft_torque "0.4" s_ambient_volume "0.4" s_world_volume "0.4" s_traffic_volume "0.4" s_truck_noise_volume "0.4" s_truck_turbo_volume "0.4" s_truck_exhaust_volume "0.4" s_truck_engine_volume "0.4" g_brake_intensity "1" g_steer_anim_range "1080" g_trans "3" c_ff_gain 4.000000 echo "Switched to KW T680 settings"

And here's my 389.cfg:
# Peterbilt 389 settings preset g_anti_slip "0" g_rain_sensor "0" g_blind_spot "0" g_lane_assistant "0" g_emergency_brake "0" g_acc "0" g_auto_diff_lock "0" g_automatic_high_beams "0" g_automatic_headlights "0" g_cruise_control_smart "-1" g_adaptive_shift "0" g_cabin_suspension_stiffness "0.75" g_suspension_stiffness "0.5" g_driveshaft_torque "0.7" s_ambient_volume "0.65" s_world_volume "0.65" s_traffic_volume "0.65" s_truck_noise_volume "0.6" s_truck_turbo_volume "0.6" s_truck_exhaust_volume "0.7" s_truck_engine_volume "0.75" g_brake_intensity "0.415244" g_steer_anim_range "1800" g_trans "2" c_ff_gain 7.500000 echo "Switched to PB 389 settings"

Note the empty lines at the end of each file, they are important. Also note that the settings are not ordered the same way they are shown in the settings UI in the game, and the values not always correspond with numbers shown near the sliders, it's normal.
Using the preset files
Now, all is left to do is to try the presets in action. Switch back to the game, open console by pressing the key to the left of "1", it's usually marked as "`" or "~".

My current settings are still for 389. I switch to T680:Changing the truck


Then I type into the console
exec /home/t680.cfg
Console window with the execution result


And it's done. But I go to settings just to check, and I see that the settings are corresponding to the modern truck:Settings successfully applied


And to change back to 389's settings, I can type in the console:
exec /home/389.cfg
It's that easy.

As I said, the presets are not limited to sounds or truck settings. You can make presets of any settings, including graphical settings, regional and language settings, UI settings, gameplay settings, device settings, and so on.

And one last thing: now you can enable Steam Cloud synchronization for the profile back.