Home › Engine executable › Command-line switches

Engine executable. Settings and tools of the game program (CivilizationVI.exe), usable without a mod. Mostly undocumented debug and configuration functionality; descriptions come from analysis of the executable and have not all been tried in the running game.

Command-line switches

Pass these in the Steam launch options (or a shortcut). All are read by CivilizationVI.exe. Nothing here has been tried in the running game; the behaviour is read from the code.

Generic option override

-<OptionKey> <integer> (inferred)

Any registered integer AppOptions key can be overridden for one launch, for example -EnableTuner 1. The argument after the dash is hashed (the key name only, not the section); if it names an integer option, the next argument is parsed as the number. String and floating-point options are skipped. The override is not written back to AppOptions.txt.

Handled by AppHost::OptionSet::SetFromCommandLine. Evidence: Disassembly of the Linux build (verified there); the Windows copy is unmapped, and the behaviour has not been tested in game.

Fixed switches

Switch Effect Handled by Status
-NoAsserts Disable assertion popups, call stacks, logging and bug collection (one switch per aspect, see the -NoAssert* family). Civ6App::SetupErrorHandling (0x721f0) inferred
-NoAssertPopups Suppress assertion popups. Civ6App::SetupErrorHandling (0x721f0) inferred
-NoAssertCallstack Do not record call stacks for assertions. Civ6App::SetupErrorHandling (0x721f0) inferred
-NoAssertLogging Do not log assertions. Civ6App::SetupErrorHandling (0x721f0) inferred
-NoAssertCollection Do not collect assertion data for bug reports. Civ6App::SetupErrorHandling (0x721f0) inferred
-NoAssertAnything Switch off all assertion handling. Civ6App::SetupErrorHandling (0x721f0) inferred
-FullDump Write full crash dumps. Civ6App::SetupErrorHandling (0x721f0) inferred
-autoscript Automation harness: script to run (Lua Automation interface). App::Automation::Manager::Startup (0x29c060) inferred
-autoparams Automation harness: parameters. App::Automation::Manager::Startup (0x29c060) inferred
-autojson Automation harness: JSON output. App::Automation::Manager::Startup (0x29c060) inferred
-benchmark Run the benchmark mode. BenchmarkSystem::ParseArguments (0x560b0) inferred
-gameviewscript Run a script in the game view. GameViewState::SetFromCommandLine (0x7ec80) inferred
-PlatformContent Content path override. App::ContentPath::Local::SetupCommandLineOverrides (0x2ea70) inferred
-appFolder= Passes the application folder to the bug-report helper process. AppHost::StartBugHelper (0x709c90) inferred
--rail_connect_to_railid= Rail platform (not Steam) join-by-invite argument. Network::Manager::SetupFromCommandLine (0x290db0) inferred
--rail_connect_cmd= Rail platform (not Steam) join-by-invite argument. Network::Manager::SetupFromCommandLine (0x290db0) inferred

The -NoAssert* and -FullDump switches are read when the app sets up error handling; -autoscript, -autoparams and -autojson belong to the automation harness; the --rail_* switches are for the Rail platform, not Steam.