Generated by
tools/build_cvar_wiki.pyfrom the engine's own cvar registry. Edits made here are overwritten by the next run.
A cvar (console variable) is a named engine setting: field of view, HUD on or off, a damage factor, a debug overlay. Each one has a name, a type, a default value and usually a one-line help text written by the developers. This catalogue lists all 3116 settable cvars of Wolfenstein II: The New Colossus with the engine's own description and default value.
This page used to hold a list of 2231 cvar-like strings scraped from the program file. That list was wrong in both directions and is gone; how it compared is recorded in TNC-CVar-Validation.
Where the data comes from
- Source: the engine's static cvar registrar list, read from a memory snapshot of the running
NewColossus_x64vk.exeand cross-checked against the live registry counter (3256 == 3256). Method and checks: Research-Report-Cvartable. Raw data in the repository:docs/cvars_tnc.jsonanddocs/cvars_tnc_exposed.json, both written bytools/extract_cvars_tnc_exposed.py. - Count: the engine registers 3256 cvars in total. This catalogue lists the 3116 settable ones; the remaining 140 are not listed: 139 are read-only or init-only (a mod cannot change them while the game runs) and 1 registry entry has no name.
- Default is the reset value declared in the program, not a value seen in one session. (empty) is an empty string; for 8 build-info cvars the reset string is only filled in at runtime and could not be read, so an empty default there means "unknown".
- Description is the developers' help text, verbatim. 202 cvars have none (—).
- Type: bool (1091), int (912), float (900), string (182), time_ms (31).
time_msis a time in milliseconds.
Exposed or not: how to set a cvar
The retail console and +name value launch arguments only accept exposed cvars. 304 names carry the engine's expose flag; 283 of them are settable and marked yes in the tables. Every other cvar answers Unknown command there: measured on the launch line in the game on 2026-10-01; the console goes through the same gate (TNC-Console-Unlock).
| Route | Exposed cvar | Not exposed |
|---|---|---|
Console: g_fov 100 |
works | Unknown command (same gate as the launch line, read from the code) |
Launch argument: +g_fov 100, for example in Steam's launch options |
works | Unknown command, measured in game |
Lines in a loader-replaced cfile, run from the console with resourceExec <file> -s |
works | works: g_infiniteAmmo 1 measured in a save game, 2026-10-01 |
Mod loader: "cvars" in a mod.json, or the Cheats & QoL tweaks |
passed as +name value |
appended to cfile:default.cfg, which the engine itself runs at startup with resourceExec default.cfg -s; built and checked offline, not yet confirmed in a running game |
A mod sets cvars like this; the loader sorts each name onto the right route by itself:
"cvars": { "g_fov": "100", "g_infiniteAmmo": "1" }
The 21 exposed names that are init-only and therefore not in the tables: bnet_enable_bdk_log, bnet_env, bnet_gamecode, bnet_language, bnet_username, bnet_verbose, com_breakableDialogBoxOnPCFatalError, com_structuredLogFileName, fs_basepath, fs_cachepath, fs_savepath, image_useLooseStreaming, r_allowComputePresent, r_allowNVIDIAShadingRate, r_disableDriverVersionCheck, r_disableSteamOverlay, r_enableAsyncCompute, r_enableNVIDIAShadingRate, r_enableTransferQueue, r_enforceAsyncComputeBlacklist, sys_ratingversion. By id Tech convention an init-only cvar is set at startup, so a launch argument is the route to try; not tested.
Pages
| Page | Cvars | Prefixes |
|---|---|---|
| Gameplay: player, movement, AI, weapons, camera and HUD | 804 | aa_ 10, ai_ 42, anim_ 14, g_ 286, hud_ 86, nav_ 20, player_ 40, pm_ 88, poi_ 54, springcam_ 17, view_ 85, smaller prefixes 62 |
| Rendering: renderer, textures and video | 953 | image_ 15, r_ 794, vt_ 114, smaller prefixes 30 |
| Other: engine, sound, network, input, UI and the rest | 1359 | build_ 14, challenge_ 15, cm_ 48, com_ 107, demo_ 10, dtls_ 14, face_ 12, fb_ 13, fc_ 16, fs_ 19, gc_ 31, in_ 13, is_ 26, jobs_ 19, joy_ 20, menu_ 31, mp_ 16, net_ 130, p_ 20, plog_ 11, resource_ 56, resourcestorage_ 11, rs_ 17, s_ 42, shell_ 22, si_ 19, sm_ 10, snapedit_ 185, swf_ 70, sys_ 15, telemetry_ 18, tm_ 19, win_ 21, smaller prefixes 269 |