DotaSync is a lightweight desktop tool for syncing Dota 2 hotkeys, quickcasts, custom hero grids, audio/video settings, and launch options between local Steam accounts.
If you play Dota 2 across multiple Steam accounts—such as a secondary account, a practice account, or on a friend's PC—setting up your preferences from scratch is tedious. You have to rebind dozens of hero hotkeys, quickcasts, item slots, camera settings, and custom hero grids.
Manually copying files inside Steam/userdata/<AccountID>/570/ is clunky and often gets wiped out by Steam Cloud if Steam synchronizes files at the wrong moment.
DotaSync solves this:
- Auto-detection: Automatically finds your Steam installation and lists your local accounts with avatars and display names.
- Granular sync: Choose exactly what to copy—launch flags, keybinds, hero grids, video/audio convars, or full config directories.
- Steam Cloud safe: Proactively checks if Steam or Dota 2 is running to prevent Steam Cloud from overwriting transferred files.
- Automatic snapshots: Takes a timestamped backup of the destination account before making any changes, with one-click restore.
Pre-built binaries are available on the Releases page.
- Windows: Download
DotaSync.exe— a single standalone executable. No installer, no setup wizard. Just save it anywhere and run it. - Linux: Download
DotaSync-linux-amd64.tar.gz, unpack it, and run./DotaSync.
- Close Steam: Make sure Steam is closed before syncing so Steam Cloud doesn't overwrite your transferred configuration. (DotaSync will warn you if Steam processes are active).
- Launch DotaSync: Your local accounts will appear automatically.
- Select Accounts:
- Source Account (Donor): The account whose settings you want to copy.
- Target Account (Recipient): The account that should receive the settings.
- Choose Transfer Scope:
- Launch Options: Copies launch flags from
localconfig.vdf(e.g.-novid -high -fullscreen). - Keybinds & Controls: Copies hero layouts, quickcasts, and ability keys (
dotakeys_personal.lst,user_keys_*.vcfg, etc.). - Custom Hero Grids & Layouts: Copies custom category tabs and hero arrangements (
hero_grid_config.json). - Audio & Video Settings: Copies machine convars and display settings (
machine_convars.vcfg,video.txt). - All Config Files: Full clone of the
570/remote/cfg/directory.
- Launch Options: Copies launch flags from
- Click Sync: A backup snapshot of the target account is archived automatically before files are applied.
- Start Steam: Open Steam, launch Dota 2, and all your settings are ready.
Every sync operation saves a timestamped snapshot of the target account inside the backups/ directory. Click Backups in the top navigation bar to view previous snapshots or restore a past configuration with one click.
- Ubuntu/Debian:
sudo apt install libgtk-3-dev libwebkit2gtk-4.1-dev - Arch Linux:
sudo pacman -S gtk3 webkit2gtk-4.1 - Fedora:
sudo dnf install gtk3-devel webkit2gtk4.1-devel
# Clone the repository
git clone https://github.com/ElRizeru/DotaSync.git
cd DotaSync
# Build for your current platform
wails build
# On Linux with WebKit 4.1:
wails build -tags webkit2_41The compiled binary will be placed in build/bin/. On Windows, this produces a portable DotaSync.exe.
Distributed under the MIT License.
DotaSync is an independent open-source utility and is not affiliated with, maintained, or endorsed by Valve Corporation. Dota and Steam are registered trademarks of Valve Corporation.
