So, I just created my keybindings.txt guide - How-To: Manually Edit keybindings.txt - and after some consideration I figured, “Why not create one for options.txt?” And here we are.
First things first. Editing the options.txt
file is considerably easier and less cryptic than dealing with keybindings.txt
. It is also much more likely/common to have a need to edit the options file than the keybindings file.
You might ask yourself, “But why do we need a guide? Most of the stuff in options.txt is rather straightforward - change a true
to a false
, a 0
to a 1
, and so on.” It is a good question.
My answer to that is 2 reasons:
-
Not every line in the file is clear what it does plus we have options like
uiScale
that actually can do more in this file than what is possible if you attempt to adjust it in-game. -
To finally bring a more “complete” discussion and dissection of what can and can’t be done with this file into a central location and to have a place where everything in it is laid bare in one spot for all to see in a hopefully somewhat organized fashion so that others can ask questions if needed and hopefully get answers - and for anyone that has insights on a perhaps obscure setting to be able to share that and add their knowledge to the “pool”.
Like keybindings.txt
, your options.txt
can always be found in the same place:
C:\Users\YOUR_USERNAME_HERE\Documents\My Games\Grim Dawn\Settings\options.txt
FYI: neither of these files is ever “in the cloud”. They are created on the spot the first times you launch the game and kept locally.
Here is MY default options.txt file:
quickBuy = true
lockItemPickup = true
mapZoom = 0.5
importedCharacters = false
lockMapRotation = false
cameraShake = true
gore = true
questwidgetopen = true
corpsePersistence = 0.5
blood = 1
reportStats = 1
targetLock = false
inactiveUpdateRate = 0
cloudSaving = true
gamepadSupport = false
breakingMoveTo = true
classicCasting = false
gamepadTargetLock = true
autoLootRelics = false
showMonsterLevelOnRollover = true
displayDamage = true
critMultipliers = false
targetOutline = true
monsterBars = true
playerBars = true
playerLocalBar = false
petBars = false
playerHealth = true
monsterHealth = true
monsterIcons = true
monsterBarsUndamaged = false
tutorialTips = true
errorMessages = true
autoItemTooltips = true
extraRollovers = true
sortConfirmBypass = false
textureQuality = high
shadowQuality = high
shadows = true
weatherQuality = high
weatherEnabled = true
depthOfField = true
softParticles = false
reflectionQuality = high
detailLevel = ultra
resolution = 1920 1080
refreshRate = 60000 1000
windowPosition = 0 0
antiAliasing = 1
anisotropicFiltering = 1
screenMode = 0
syncToRefresh = true
tripleBuffer = false
detailObjects = true
advancedEffects = true
brightness = 0.5
contrast = 0.5
gamma = 0.5
fxQuality = medium
lightingQuality = medium
uiScale = 0.5
device = 0
colorblind = 0
alphatocoverage = false
ambientocclusion = false
deferredrendering = false
fxaa = true
masterVolume = 1
musicVolume = 1
effectsVolume = 1
ambientVolume = 1
dialogVolume = 1
rockOn = false
speakerType = 1
soundDevice = 0
errorSpeech = true
captureDevice = 0
micLoopback = false
voiceVolume = 1
voicechatEnabled = false
voicechatPushToTalk = false
networkAdapter = ""
networkMTU = 1400
UPnPEnable = true
language = "English"
datapath = ""
forceSingleProcessorMode = false
maxResourceThreads = 1
skipCompatibilityChecks = false
useArchives = true
setupComplete = false
You might wonder why I bolded and capitalized the word MY above. Because MY defaults are not all going to be your defaults.
-
In particular I am referring to the
resolution
and therefreshRate
lines. Grim Dawn naturally is going to fill in these lines values based on the information it gleans from your OS about your monitor and its refresh rate the first times you launch the game. These values will vary from person to person. -
The other line that can vary is the
reportStats
line. This can have a value of either1
or2
. When you first launch the game Grim Dawn asks you a question:This is what
reportStats
does and depending on what you answer will be a1
forYes
and a2
forNo
. Naturally, it can be later configured in the options menu itself if you want to change this - or manually in the file. -
I would also assume that some of the audio device and network related settings could also vary depending on the user as well.
Now, I do not intend to go over every function listed in the file - there are 91 lines total! I’d rather leave that up to future discussion and only then going on to add the most noteworthy and “cryptic” lines to the OP here for easier access. I do intend to create a table (below) of MY default file, much like the one in my keybindings how-to, that shows the line in the file each function belongs to for easier referencing.
- The
File Line
column denotes the line number of theFunction
as it is located in the file. Everything else should be more or less self-explanatory.
File Line | Function | Value |
---|---|---|
1 | quickBuy | true |
2 | lockItemPickup | true |
3 | mapZoom | 0.5 |
4 | importedCharacters | false |
5 | lockMapRotation | false |
6 | cameraShake | true |
7 | gore | true |
8 | questwidgetopen | true |
9 | corpsePersistence | 0.5 |
10 | blood | 1 |
11 | reportStats | 1 |
12 | targetLock | false |
13 | inactiveUpdateRate | 0 |
14 | cloudSaving | true |
15 | gamepadSupport | false |
16 | breakingMoveTo | true |
17 | classicCasting | false |
18 | gamepadTargetLock | true |
19 | autoLootRelics | false |
20 | showMonsterLevelOnRollover | true |
21 | displayDamage | true |
22 | critMultipliers | false |
23 | targetOutline | true |
24 | monsterBars | true |
25 | playerBars | true |
26 | playerLocalBar | false |
27 | petBars | false |
28 | playerHealth | true |
29 | monsterHealth | true |
30 | monsterIcons | true |
31 | monsterBarsUndamaged | false |
32 | tutorialTips | true |
33 | errorMessages | true |
34 | autoItemTooltips | true |
35 | extraRollovers | true |
36 | sortConfirmBypass | false |
37 | textureQuality | high |
38 | shadowQuality | high |
39 | shadows | true |
40 | weatherQuality | high |
41 | weatherEnabled | true |
42 | depthOfField | true |
43 | softParticles | false |
44 | reflectionQuality | high |
45 | detailLevel | ultra |
46 | resolution | 1920 1080 |
47 | refreshRate | 60000 1000 |
48 | windowPosition | 0 0 |
49 | antiAliasing | 1 |
50 | anisotropicFiltering | 1 |
51 | screenMode | 0 |
52 | syncToRefresh | true |
53 | tripleBuffer | false |
54 | detailObjects | true |
55 | advancedEffects | true |
56 | brightness | 0.5 |
57 | contrast | 0.5 |
58 | gamma | 0.5 |
59 | fxQuality | medium |
60 | lightingQuality | medium |
61 | uiScale | 0.5 |
62 | device | 0 |
63 | colorblind | 0 |
64 | alphatocoverage | false |
65 | ambientocclusion | false |
66 | deferredrendering | false |
67 | fxaa | true |
68 | masterVolume | 1 |
69 | musicVolume | 1 |
70 | effectsVolume | 1 |
71 | ambientVolume | 1 |
72 | dialogVolume | 1 |
73 | rockOn | false |
74 | speakerType | 1 |
75 | soundDevice | 0 |
76 | errorSpeech | true |
77 | captureDevice | 0 |
78 | micLoopback | false |
79 | voiceVolume | 1 |
80 | voicechatEnabled | false |
81 | voicechatPushToTalk | false |
82 | networkAdapter | “” |
83 | networkMTU | 1400 |
84 | UPnPEnable | true |
85 | language | “English” |
86 | datapath | “” |
87 | forceSingleProcessorMode | false |
88 | maxResourceThreads | 1 |
89 | skipCompatibilityChecks | false |
90 | useArchives | true |
91 | setupComplete | false |
Interesting\Obscure Functions
I am placing here functions from the file that I, personally, am interested to understand more about what, if anything, they can do. Anyone with information or ideas - feel free to share. There are obviously a handful of other functions in this file that are also worth expanding more on in the future as well, while the majority of the rest need little illuminating at all.
-
importedCharacters = false
This entry confuses me. I suspect that it has to do with this pop-up:
…but I have yet to make it do anything discernible by switching its value to
true
. -
inactiveUpdateRate = 0
-
datapath = ""
-
maxResourceThread = 1
This particular entry actually sees a lot of radio-play in Grim Dawn-world. Especially when it comes to the area we call “optimization” when dealing with fps issues and the like.The general advice is that this number somehow corresponds to your CPU’s and that you should set this according to the number of cores your CPU flaunts. However, @Rhis (Crate Programmer) years ago on Steam made a statement to the effect of: “That may not do what you think it does”.
-
useArchives = true
-
setupComplete = false