BeamNG.drive accepts command line arguments that change how the game starts. They are useful for testing mods, reproducing problems, and working around hardware issues.
How to pass arguments
- Steam: right-click the game > Properties > General > Launch Options.
- Shortcut or terminal: append them to the executable, for example
Bin64\BeamNG.drive.x64.exe -level gridmap_v2 -console.
Argument names are case-sensitive. Values that contain spaces must be quoted.
Launch arguments start the game directly and skip the BeamNG launcher. The launcher window does not open, so you cannot pick the renderer there, and the
launcher support tools
(Safe Mode, Clear Cache, Clean Install) are unavailable. The checks the launcher normally runs before the game starts are skipped as well. Clear the launch options, or start the game from the launcher, to get that back.
Graphics and display
| Argument |
Description |
-gfx <api> |
Select the renderer: d3d12, vk, or dx11. If it appears more than once, the last one wins. See Direct3D 12
and Vulkan
. |
-gfx <api> debug |
Enable the graphics API validation layer. Slow. Use it when diagnosing rendering bugs. |
-gfx <api> breadcrumbs |
Record which render pass was running when the GPU crashed, written to beamng.log. Direct3D 12 and Vulkan only. |
-gfxfallback |
With -gfx d3d12, fall back to Direct3D 11 when the GPU cannot run Direct3D 12. |
-fullscreen / -windowed |
Start in fullscreen or in a window. |
-vr |
Start the game with VR enabled. See Virtual Reality
. |
-noShaderCache |
Do not read or write the shader cache. |
-noLoadShaderCache |
Ignore the existing shader cache on startup and rebuild it. |
-renderdebug |
Enable graphics debug mode independent of the renderer. |
-dont-grab-window-focus |
Do not steal keyboard focus when the window opens. Windows only. |
Startup content
| Argument |
Description |
-level <name> |
Load a level directly after startup, for example -level gridmap_v2. Use the level folder name from levels/. |
-vehicle <name> |
Spawn this vehicle model instead of the default, for example -vehicle pickup. |
-vehicleConfig <path> |
Spawn the vehicle with a specific part configuration, for example -vehicleConfig "pickup/d15_v8_4wd.pc". |
-useDefaultPc |
Use the default part configuration of the vehicle. |
-levelOffset <x> <y> <z> |
Offset the level origin by the given distance. |
-worldEditor |
Open the World Editor
as soon as a level is loaded. |
-flowgraph |
Start on the smallgrid level with the Flowgraph editor
open. |
Lua
| Argument |
Description |
-lua "<code>" |
Run a Lua string in the game engine VM on startup, for example -lua "print('hello')". See Virtual Machines
. |
-luafile <module> |
require a Lua module on startup. |
-onLevelLoad_ext <extension> |
Load an extension
every time a level finishes loading. |
-console |
Open a console window with the game log and an interactive Lua prompt. Windows only. |
-luadebug |
Start the Lua debugger server on port 21110. Add -attachOnStart to attach before any Lua runs. |
-luastdin |
Read Lua commands from standard input. |
-nocmdlistener |
Disable the local command listener used by external tools to send Lua to the game. |
-quitonfatalerror |
Exit the game instead of showing a dialog on a fatal Lua error. |
User folder and mods
| Argument |
Description |
-userpath <path> |
Use a different user folder
for this session, for example -userpath "D:\BeamNG_test". |
-nouserpath |
Use the game installation folder as the user folder. |
-safemode |
Start with all mods disabled and the file system in safe mode. Same as Safe Mode
in the Launcher Support Tools. |
-compilemeshes |
Compile all .dae meshes to .cdae and exit. |
Logging and crash reports
| Argument |
Description |
-loglevel <level> |
Minimum log level written to beamng.log. |
-logeverything |
Log every origin at every level. |
-loglevelWhitelist <list> |
Only log these origins. Without a list, logs everything. |
-loglevelBlacklist <list> |
Never log these origins. Without a list, clears the default blacklist. |
-noLogsLimit |
Remove the limit on repeated log messages. |
-flushLogErrors |
Flush the log file after every message. Useful when the game crashes and the end of the log is missing. |
-colorStdOutLog / -noColorStdOutLog |
Enable or disable colored log output in the terminal. |
-autosubmitcrashreport |
Submit crash reports without asking. |
-nosubmitcrashreport |
Never submit crash reports automatically. |
-fullcrashreport |
Include a full memory dump in crash reports. |
-nocrashreport |
Disable crash reporting. |
-profiling |
Enable the Lua profiler from startup. -startupProfiling profiles only the startup. |
-profileVehicleLoading |
Log timings of vehicle loading. -debugVehicleLoading logs JBeam loading details. |
-enable-core-dumps |
Allow core dumps on a crash. Linux only. |
Automation and headless use
| Argument |
Description |
-headless |
Run without a window, UI, or sound. Used for automation. |
-noui |
Start without the HTML user interface. |
-nosfx |
Disable audio. |
-batch / -noninteractive |
Non-interactive mode: no dialogs that wait for input. |
-physicsfps <n> |
Physics update rate in steps per second. Default is 2000. |
-disableDynamicCollision |
Disable vehicle-to-vehicle collisions. |
-tcom |
Start the BeamNG.tech TCP server for BeamNGpy
. |
-tport <port> |
Port for the BeamNG.tech server. |
-tcom-listen-ip <ip> |
IP address the BeamNG.tech server listens on. |
-tcom-debug / -no-tcom-debug |
Enable or disable BeamNG.tech protocol logging. |
-telemetry / -notelemetry |
Force telemetry on or off. |
-nosteam |
Start without the Steam integration. |
User interface
| Argument |
Description |
-cefdev |
Enable the developer tools for the HTML user interface. |