Automatically change your Steam profile name (persona name) based on which game you're currently playing.
- 🎮 Monitors running processes to detect games
- 🔄 Automatically updates your Steam persona name
- 🖥️ Modern WPF GUI with system tray support
- 🐛 Built-in Debug Log panel for troubleshooting
- ⚙️ Configurable via GUI and YAML configuration files
- 🔐 Supports Steam Guard authentication with GUI dialogs
- 🔁 Auto-reconnect on disconnect
- 📝 Customizable check intervals
- 💾 Persistent session support to reduce re-authentication
- 🚀 Option to run on Windows startup
- 📋 Minimize to system tray
This application uses SteamKit2 to maintain a connection to Steam and monitor your local processes. When it detects a game from your configured list is running, it automatically updates your Steam profile name to the corresponding persona name.
- .NET 8.0 or higher
- A Steam account
- Windows OS (for process monitoring)
- Download the latest release from the Releases page
- Extract the files
- Run
SteamPersonaSwitcher.exe - Configure your settings via the GUI
git clone https://github.com/JamesDBartlett3/SteamPersonaSwitcher.git
cd SteamPersonaSwitcher
dotnet build
dotnet runThe application now uses a modern GUI for configuration. Settings are automatically saved to YAML files in your AppData folder.
- Steam Credentials: Enter your Steam username and password
- Default Persona Name: The name to use when no configured game is running
- Check Interval: How often (in seconds) to check for running games
Add game executable names and their corresponding persona names:
- Enter the game's .exe name in the "Game Process Name" column (e.g., "EldenRing.exe", "EliteDangerous64.exe", etc.)
- Enter the persona name you want to use in the "Persona Name" column (e.g., "Elden Lord", "CMDR Zorthon Torgrim", etc.)
- Press Tab, Enter, or click outside the grid to commit the entry
- A new blank row will automatically appear for additional mappings
- Click "Save Config" to save your changes
Use Windows Task Manager to find the exact process name for your games:
- Open Task Manager (Ctrl+Shift+Esc)
- Go to the "Details" tab
- Find your game's process name (e.g., "RocketLeague.exe")
- Add it to your game-persona mappings in the application
The application includes a built-in Debug Log panel for troubleshooting:
- Click "Show Debug Log" to open the panel (docked to the right side of the window)
- The panel shows all application events with timestamps and color-coded severity levels
- Features include:
- Word Wrap: Toggle to wrap long log messages
- Auto-scroll: Automatically scroll to newest messages
- Copy: Copy all logs to clipboard
- Clear: Clear the log history
- Panel state (visible/hidden and width) is saved between sessions
- The panel is resizable by dragging its edge
- Passwords are encrypted using Windows Data Protection API (DPAPI)
- Session tokens are stored to eliminate the hassle of reauthenticating every time the application is launched
- Configuration files are stored in your user's AppData folder
- Never share your configuration files with others
- If you are concerned about the risk of entering your Steam credentials into an unofficial third party app, that's a good thing, because it means that you take your security seriously. Please feel free to review and/or compile the code yourself, for your own peace of mind.
- If you discover any security issues in this application, please report them to me immediately via the GitHub Issues feature in this repository, and I will address them as soon as possible.
- Launch the application
- Enter your Steam credentials in the GUI
- Configure your game-persona mappings
- Click "Start Service" to begin monitoring
- The app will automatically update your persona name when a configured game is detected
- Use the system tray icon to access the application when minimized
- Click "Show Debug Log" to view application events and troubleshoot issues
The application supports minimizing to the system tray:
- Click the tray icon to restore the window
- Right-click the tray icon for quick actions
- The application can start minimized to tray if configured
To create a standalone executable:
dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=trueThe executable will be in bin/Release/net8.0/win-x64/publish/
Application won't connect to Steam
- Verify your credentials in the GUI settings
- Check your internet connection
- Ensure Steam servers are online
- Check the Debug Log panel for detailed error messages
Persona name not changing
- Verify the process name matches exactly (case-sensitive)
- Check the Debug Log panel for detection events
- Ensure the service is running
- Steam may rate-limit frequent name changes
Steam Guard issues
- The app will notify you in the Status area if Steam Guard authentication is required.
- Currently, the app only supports MFA via the Steam Mobile app.
- Email and SMS codes are not supported at this time, but may be added in the future if enough people request them.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with SteamKit2
- Inspired by Foxhole, which automatically sets the player's on-screen handle from their Steam persona name, and does not offer an option to customize it. If you play Foxhole (or other games which take the same approach), this tool allows you to set a different Steam persona name for when you play those games, and it will automatically switch back when you exit the game.
This tool is not affiliated with or endorsed by Valve Corporation or Steam. Use at your own risk.
