Dota-2 Profile on Shared PC

My brother and I share a PC for Dota2, but we have separate Steam accounts. The Dota2 settings are same for both of us, including hot-keys, chat-wheel, auto-attack and others. If one of us changes the settings, they get changed for the other one as well. Does some setting need be changed for separate profiles or is this just a bug? Thanks.

Edit: We also have separate Windows accounts.


If you want to invest 5 minutes into scripting you can make each of your own config file that saves all the settings.

Each time DotA2 is started those settings get loaded and they can be modified separately.

All you need to do are 4 steps:

Step 1

Go to your DotA config folder (default should be C:\Program Files (x86)\Steam\SteamApps\common\dota 2 beta\dota\cfg) and create 3 files named autoexec.cfg, mySettings.cfg and myBrothersSettings.cfg

Step 2

Write this into your autoexec.cfg:

exec mySettings.cfg
//exec myBrothersSettings.cfg

// tells dota to not load whats behind it in that line (here myBrothersSettings.cfg). So in this example mySettings.cfg will be loaded.

Step 3

Define your settings (do your own first and then copy paste the entire code into your brothers file and let him modify the desired changes).

To set a hotkey you need 3 parts: bind key action

bind just tells dota that you want to bind a key to an action.

key can be nearly any key on your keyboard (a-z,0-9,numpadnumbers,Tab,arrowkeys,etc)

action is the command that dota should execute. In my example below are important/mostly needed commands. A full list can be found here.

If you want to configure settings too you just need 2 parts: settingcommand value

settingcommand is the setting that you want to set (the commands can be found in the list above too).

value depending on the setting will define what the setting should be like.

An example of a setting for your config file would be: "dota_player_units_auto_attack" "1"

This example sets autoattacking to ON (you can see this setting in the game menu too).

I provide you with my bindings below. You can use this by coping this into your file as a start. If you have any questions whatsoever or if you want more settings (that you see in the dota 2 menus) just let me know and i add it into the answer.

///////////////////
// Main Bindings //
///////////////////

unbindall //removes all bindings so it will not interfere with another file
//Attack & Movement
bind "A" "mc_attack"
bind "mouse1" "+attack"
bind "mouse2" "+attack2"
bind "S" "dota_stop"
bind "D" "dota_hold"

//Spells from left to right (0-5)
bind "Q" "dota_ability_execute 0"
bind "W" "dota_ability_execute 1"
bind "E" "dota_ability_execute 2"
bind "X" "dota_ability_execute 3"
bind "C" "dota_ability_execute 4"
bind "R" "dota_ability_execute 5"

//Items from upper left corner to lower right corner (0-5)
bind "3" "dota_item_execute 0"
bind "4" "dota_item_execute 1"
bind "Mouse5" "dota_item_execute 2"
bind "SPACE" "dota_item_execute 3"
bind "F" "dota_item_execute 4"
bind "Mouse4" "dota_item_execute 5"

//Groups
bind "1" "+dota_camera_follow" //hero
bind "2" "dota_select_all_others" //selects all other units
bind "5" "dota_select_courier" //selects courier
bind "TAB" "dota_cycle_selected" //cycle through the selected group


/////////////
// Utility //
/////////////

bind "L" "dota_glyph" //activate glyph
bind "." "toggleshoppanel" //show shop
bind "M" "+showscores" //show scoreboard
bind "," "+voicerecord" //push to talk
bind "KP_0" "dota_purchase_quickbuy" //buy quickbuy

/////////////////
// MetaBinding //
/////////////////

bind "ESCAPE" "escape" //escape key
bind "F6" "jpeg" //take screenshot
bind "F9" "dota_pause" //pause dota
bind "F10" "disconnect"
bind "F11" "toggleconsole" //show console


//////////
// Chat //
//////////

bind "ENTER" "say"
bind "KP_ENTER" "say"

echo "myMainBindings loaded"

Step 4 Option A (with hotkey)

The code below let's you switch between the settings of your brother and yourself via hotkey (it even tells you ingame which one you choose! So you can switch it ingame any time you want with this!). To use this code you need to add it into both files (your brother's cfg and your own cfg). Enjoy!

PS: Don't forget to change the key!

bind "key1" "exec mySettings.cfg; say_team "mySettings loaded"
bind "key2" "exec myBrothersSettings.cfg; say_team "myBrothersSettings loaded"

I recommend KP_1 and KP_2 as the keys because those are the numbers on your numpad.

Step 4 Option B (without console)

Every time you want to change the config to your brothers and vise versa do the following:

Close DotA 2. Open the autoexec.cfg and put // before the line you do not want to load. At the same time remove the two // before the line you do want to load. Start DotA 2.

Step 4 Option C (with console)

Using the console has many benefits. For instance not needing to restart the game client.

To get the console you need to follow 2 minsteps.

Ministep 1

Add the line "con_enable" "1" to your autoexec.cfg

Ministep 2

Now start DotA 2. Autoexec.cfg will be loaded. Now restart DotA 2. You should now be able to activate the console via the hotkey you set in the settingsmenu (default key is `).

After you finished activating the console you can use exec to execute any .cfg file. So if you want to load your brothers config just type exec myBrothersSettings.cfgand press enter.

Press your console hotkey again to hide the console.