Loading the cvar data…
Config generator
Answer a few questions to get a user.cfg and an autoexec.cfg. Each line goes into the
file where the game actually keeps it (see how configs load).
Your PC
Goal
Frame rate cap
Extras
Your own lines
Add any cvar from the database with its Add to my config button. It's placed in the right file automatically.
Your files
Save both files in the game folder, next to the Bin and Data folders
(Steam: right-click the game > Manage > Browse local files). Name them exactly user.cfg and
autoexec.cfg. Watch out: Notepad can quietly add .txt.
user.cfg
autoexec.cfg
Lines in autoexec.cfg belong to video options or quality presets. The game
re-applies its own values when you change that option in the menu, until the next restart. Whether autoexec
also beats the values loaded from your profile at startup is likely but not yet verified.
Check a config
Paste a user.cfg or autoexec.cfg (yours, or one from a mod page), or open the file.
Every line is checked against the game's real cvar list and loading rules. Nothing is uploaded; it all runs in
your browser.
Result
What the verdicts mean
Cvar database
Every console variable the game registers, with its type, default, the engine's own help text and, most importantly, whether a config file can change it. Click a row for details and quality-preset values.
Graphics presets
Each quality option in the video settings is a preset group. Picking Low, Medium, High or Very High sets every
cvar in that group to the value in its column. The game applies them from your profile after
user.cfg is read, so a different value for one of these cvars has to go in autoexec.cfg.
Highlighted values differ from the column before them. Level 7 exists in the game's preset files, but the menu stops at Very High.
How the game loads configs
Order
system.cfg, thenuser.cfg(game folder), while the engine starts.- A few thread/worker settings are read once, right after that.
- Your saved profile is applied: resolution, V-Sync, FPS cap, FOV, the distance sliders, and every quality option. Each quality option is a preset group that sets dozens of cvars (209 in total).
autoexec.cfgruns when the game starts. (That this is after step 3 is likely but unverified.)- Changing a video option later re-applies its whole group.
So where does a line go?
| the cvar is… | put it in |
|---|---|
| part of a video option or quality preset | autoexec.cfg. In user.cfg it's replaced at step 3. |
read once at startup (sys_job_system_max_worker, thread affinities) | user.cfg. autoexec runs too late. |
| anything else that's settable | either file |
| cheat / const / read-only (about 1700 cvars) | nowhere, unless the game runs with -devmode |
Parsing rules
- A comment must start the line, with
;or--. A comment after a value is part of the value (harmless after a number, not after text). user.cfgneedsname = value. Lines without=(like#commentsorbind) are ignored.autoexec.cfgalso acceptsname valueand commands likebind.- Whole-number cvars cut off fractions:
r_HDRBloom = 0.4becomes 0, which turns bloom off. - An empty value (
name =) sets 0. - The file must be called exactly
user.cfg;user.cfg.txtis never loaded.
Full details, with engine addresses for every claim: cfg-loading.md, perf-cvars.md, community-cfg-audit.md.