Launch options are text flags Steam hands to dota2.exe before the game starts, and in 2026 the honest list of ones that still matter is short: -console, -novid, -noborder/-fullscreen/-sw, -w/-h, +fps_max, -map dota, -language, and the repair pair -autoconfig and -safe_mode. Everything with a reputation for free FPS is either gone, off by default already, or worth less than one slider in the video menu. You set them in Steam → Library → right-click Dota 2 → Properties → General → Launch Options, separated by spaces.
Where they go, and the - versus + rule
Steam's own support page and Liquipedia describe the same path: open the Library, right-click Dota 2, choose Properties, and the Launch Options field is on the General tab. Multiple flags are separated by a single space, and there is no Apply button — they take effect on the next launch.
The prefix tells you what kind of thing you are writing. A - flag is an engine switch read at startup (-novid). A + flag is a console command executed once the game is up (+fps_max 240). Liquipedia gives the mechanism plainly: any console command can go in the launch options with a plus in front of it and its value after a space. You can mix both kinds in one line.
The flags that still do something
| Flag | What it does | Worth it in 2026? |
|---|---|---|
-console |
Enables the in-game console | Optional. The same toggle exists in Settings → Options → Game → advanced. The flag earns its place when the client will not reach the menu, because you can read what the engine prints while failing |
-novid |
Skips the intro video | Harmless, a second or two |
-noborder / -fullscreen / -sw |
Forces borderless / fullscreen / windowed | Works. The rescue when the display-mode setting is stuck after a monitor change |
-w 1600 -h 900 |
Forces a resolution in pixels | Works, and it is one of the two flags that genuinely changes FPS: fewer pixels drawn |
+fps_max 240 |
Frame cap. Liquipedia lists the fps_max default as 120 |
Works. Read the warning below before you set it very high |
-map dota |
Loads the Dota map at launch instead of after the queue | Works, and it is the one option that shortens the wait everyone actually notices — the loading happens before you find a game rather than after |
-language russian |
Forces interface language | Works |
-autoconfig |
Resets video and performance settings to hardware defaults, ignores .cfg files | A one-launch repair tool. Remove it afterwards or your config never loads again |
-safe_mode |
Resets the render API choice to default, same .cfg caveat | Same: repair, then remove |
-high |
Runs the process at High CPU priority | Exists. Measure it before you keep it, see below |
-nomicsettings |
Stops Dota changing your microphone level at launch | Niche and genuinely useful if the game keeps maxing your mic for other software |
-nogammaramp |
Makes Dota use the desktop colour profile | Useful if f.lux or a night-light profile is ignored in fullscreen |
-dx11 / -vulkan |
Forces the render API | A diagnostic switch. Try the other one when the game crashes on launch, not as an FPS trick |
-noprewarm |
Disables the resource pre-loading that has been on by default since 2020 | Only if pre-loading is what is hanging your client |
-gamestateintegration |
Enables Game State Integration, off by default since March 2022 | Only if you run an overlay or stream tool that needs it |
-enable_addons |
Loads Valve-whitelisted custom content: minimap, HUD, icons, cursors, sounds | Allowed in matchmaking. Its unrestricted cousin -override_vpk has been banned from matchmaking since February 2015 |
Linux has its own short list that Windows players never need: -nomousegrab to make alt-tab work in some desktop environments, -phased_window_create for multi-monitor setups, -sdl_displayindex to pick the screen, and -sdlaudiodriver when sound refuses to come out at all.
What Valve actually removed
Liquipedia keeps a deprecated table with the reason next to each entry, and it is the fastest way to clean out a config copied from a 2016 guide:
-32bit— 32-bit Dota is gone (November 2021 patch).-dx9— DirectX 9 deprecated in the same patch, replaced by the temporary-deprecated_dx9flag whose stated purpose is reporting DirectX 11 problems, not running the game long-term.-glon Windows — OpenGL support removed; Liquipedia notes the OpenGL DLC was emptied.-xaudio— native XAudio support removed in November 2021; SDL is the default audio system now.-prewarm— removed in August 2020, its effect made default. That is why-noprewarmexists at all.-windowed— superseded, though-swstill does the same job.-dashboard international_2013and friends — the Reborn dashboard does not support the old themes.
One honest caveat about that list, and about the table above it. Liquipedia's Launch Options page carries an "under construction" tag, and the newest entry in its patch history is March 2022. Nothing there is invented, but nothing there is a promise about the client you are running tonight either. If a flag matters to you, test it.
The FPS myth, and the one flag that has bitten people
No launch option is a performance mod. The two that touch frame rate do it by changing what is drawn: -w/-h renders fewer pixels, +fps_max caps how many frames you ask for. Everything else in a "boost FPS" list is either a placebo or a setting you could change in the menu.
-high is the classic example. It raises the process priority, which on a machine with nothing else running changes nothing, and on a busy machine can make the rest of the system worse. Keep it only if you measured a difference in your own 1% lows.
And frame caps are not free either. In June 2026 a player posted a PSA on r/DotA2, upvoted by the subreddit, about the Pick the Lock minigame in that event: the minigame's bars were tied to frame rate, and running +fps_max 500 made it far harder than it was for players at 60. It is a small example of a large point — a launch option is a change to how the client behaves, and clients get event content that nobody tested at 500 frames a second.
The honest FPS ladder in Dota 2 runs the other way round: Shadow Quality (Off / Med / High / Ultra) and Game Render Screen Quality, which lowers the render resolution while keeping the HUD sharp, then texture quality, ambient occlusion, high-quality water, tree wind and the rest of the eye candy. Those are sliders in Settings → Video, and any one of them outweighs your whole launch-options line.
Console commands worth keeping
Enable the console in Settings → Options → Game (advanced) or with -console, and the default toggle key is \. Then a handful of commands are worth having permanently — none of them are cheats, and none of them are hidden advantages:
| Command | Value | What it does |
|---|---|---|
cl_showfps |
0–4 |
FPS meter. 2 is the smoothed reading, 3 shows server ms, 4 also logs to a file |
fps_max |
number | Frame cap, default 120 |
dota_minimap_ping_duration |
seconds, default 3 | Makes pings stay on the minimap longer |
dota_minimap_hero_spread |
0/1 |
Spreads overlapping hero icons apart on the minimap |
dota_player_smart_multiunit_cast |
0/1 |
Cast the same spell from multiple identical units without selecting each — the Meepo player's setting |
dota_minimap_disable_rightclick |
0/1 |
Kills the misclick that sends your hero across the map |
retry |
— | Reconnects to the last server, faster than the UI |
These reset on restart. To keep them, put them one per line in a file named autoexec.cfg — with a real .cfg ending, not .cfg.txt — in ...\Steam\steamapps\common\dota 2 beta\game\dota\cfg. Lines starting with // are ignored, so you can label what each one does.
What the console cannot do is give you an advantage: Liquipedia states outright that a large share of the command list is flagged as cheats and only functions on a local private server with cheats enabled. In a public lobby those commands do nothing.
The settings that beat every flag
Two menu items decide more of your Dota experience than the entire launch-options field, and neither is on by default in a useful state.
Display Network Information (Settings → Options → Miscellaneous) puts FPS, ping and packet loss in the top-right corner. Without it you are guessing about which of the three is ruining a game — and packet loss looks exactly like low FPS from the inside.
Network Quality (Settings → Options → Network) is a bitrate switch: the low-end setting uses 40,000 and less data, the high-end setting 80,000. On a shaky mobile connection the low setting is a fix, not a downgrade.
Beyond that, the options worth an evening are the behavioural ones: quickcast per ability, advanced quickcast/autocast keys, Unified Orders with CTRL, Smart Attack Move (attack-move targets the enemy nearest your cursor rather than nearest your hero), Teleport Requires Hold/Stop so a stray click stops cancelling a TP, and Minimap Misclick Protection Time.
Testing a flag honestly
- Turn on
cl_showfps 2and Display Network Information. - Play a full demo or bot match on the same map, note the average and — more importantly — the worst moments in a teamfight.
- Add exactly one flag. Restart. Repeat the same match type.
- Keep it only if the bad moments got better. Average FPS is close to meaningless; stutter is what you actually feel.
If you are testing with friends in a lobby rather than solo, the random team generator splits a Discord call into two fair sides in one click, which is faster than the usual ten minutes of "who's captain".
One trap for people who also play shooters
Dota 2 has no in-game mouse sensitivity slider: the cursor is your desktop cursor, so the only lever is mouse DPI. That is fine until you raise DPI to cross the Dota map faster and then load CS2 or Valorant, where the same change makes your aim wildly fast.
If you change DPI for Dota, recompute your shooter sensitivity instead of relearning it — the DPI calculator gives the number that keeps your aim identical after a DPI change, and the sensitivity converter keeps the same physical distance across games if you play more than one shooter. Better still, use a mouse with on-board DPI stages and leave the shooter stage alone.
FAQ
Do Dota 2 launch options increase FPS?
Barely. The only ones that touch performance directly are those that change how much the game draws — a forced lower resolution with -w and -h, and a frame cap with +fps_max. Shadow quality, texture quality and Game Render Screen Quality in the video menu move far more than any flag. Treat launch options as switches for behaviour, not as a performance mod.
Do I still need -console in Dota 2?
No. The console has a toggle in the game itself, under Settings, in the advanced part of the Game options. -console does the same job from Steam and is still handy when the game will not reach the menu, because you get to see the errors it prints on the way.
Which Dota 2 launch options no longer work?
Liquipedia's deprecated list names -32bit, -dx9, -prewarm, -windowed and -dashboard. Valve removed 32-bit support and native XAudio, deprecated DirectX 9 in favour of a temporary -deprecated_dx9 reporting flag, dropped OpenGL on Windows, and made -prewarm's behaviour the default with -noprewarm added to switch it off.
Where do I put an autoexec.cfg for Dota 2?
In ...\Steam\steamapps\common\dota 2 beta\game\dota\cfg, saved with a .cfg ending rather than .txt. Console commands you type during a match do not survive a restart; an autoexec.cfg runs them every launch. Lines starting with // are ignored, so you can leave yourself notes.
Can I use console commands to gain an advantage?
No. Liquipedia's console page is explicit that a large share of console commands are flagged as cheats and only work on a local private server with cheats enabled — they do nothing in a public lobby. The commands that do work everywhere are interface ones: FPS display, minimap icon spread, ping duration.
Sources
- Liquipedia Dota 2: Launch Options (command list, deprecated list, patch history)
- Liquipedia Dota 2: Console (enabling it, autoexec.cfg, useful commands)
- Liquipedia Dota 2: Settings (options, camera, video, network)
- Steam Support: Setting Game Launch Options
- r/DotA2: 'PICK THE LOCK minigame IS FPS BASED' (June 2026)
- r/DotA2: game broken since the Dark Carnival update, launch-option attempts (June 2026)