Use Your Switch Controller on PC: A Complete Guide to BetterJoy
Want to use your Nintendo Switch Pro Controller, Joy-Cons, or even your classic SNES controller on your PC? BetterJoy makes it easy. This guide will show you how to set up BetterJoy and enjoy seamless gaming with your favorite Switch controllers on PC.
What is BetterJoy and Why Use It?
BetterJoy is a free, open-source driver that lets you use Nintendo Switch controllers with PC games. It translates the controller input into XInput, the standard used by most PC games. This means you can use your Pro Controller, Joy-Cons, or Switch SNES controller with Steam, Cemu, Citra, Dolphin, Yuzu, and other applications.
- Use Switch Controllers on PC: Play PC games with your preferred Nintendo Switch controllers.
- Gyro Support: Use motion controls in games that support them, and even control your mouse with gyro.
- Customizable Button Mapping: Remap the SL, SR, and Capture buttons to your desired key bindings.
- XInput Support: Seamless integration with Steam and other PC games supporting XInput controllers.
Downloading and Installing BetterJoy
- Download the Latest Version: Go to the [Releases tab](link to GitHub releases if available) on the BetterJoy GitHub page to download the latest version.
- Install Drivers: Run the
Drivers/ViGEmBus_Setup_1.16.116.exe
file included in the download. This installs the necessary drivers for BetterJoy to work. - Restart Your Computer: A restart is required to complete the driver installation.
- Run BetterJoyForCemu.exe: Locate and run the executable file, BetterJoyForCemu.exe.
- Run as Administrator (If Needed): If keyboard/mouse button mappings aren't working, run BetterJoy as administrator.
Connecting Your Switch Controller
Bluetooth Connection:
- Enter Pairing Mode: Hold the small sync button on top of the controller for five seconds until the lights start flashing.
- Pair via Bluetooth Settings: Find the controller in your computer's Bluetooth settings and pair it.
- Reconnect: To reconnect, simply press any button on the controller.
USB Connection:
- Connect your controller to your computer using a USB cable. Windows should automatically detect it.
Configuring for Cemu and Other Emulators
- Start Cemu: Launch the Cemu emulator.
- Ensure Cemuhook is Enabled: Verify that Cemuhook is active and the controller option is selected.
- Input Settings: Go to Input Settings in Cemu, choose XInput as the source, and assign buttons accordingly. For Joy-Cons, Cemuhook will detect two controllers, letting you choose your preferred hand for gyro controls.
- Rumble Settings: Adjust rumble settings to your preference (70-80% is recommended).
Using Your Switch Controller on Steam as an Xbox Controller
BetterJoy allows you to use your Pro Controller and Joy-Cons as standard Xbox controllers on your PC, offering native compatibility with Steam. Here’s how:
- Automatic Detection: Once BetterJoy is running and your Pro Controller is connected, Steam should recognize it as an Xbox controller.
- Steam Input: For advanced configuration, you can use Steam Input to customize button mappings and enable features like gyro aiming.
Troubleshooting and Further Customization
- Wiki: Check out the [BetterJoy Wiki](link to wiki if available) for detailed information on app settings, FAQs, troubleshooting, and advanced configurations.
- Steam Integration: The wiki provides guidance how to ensure BetterJoy works harmoniously with Steam.
- Controller Disconnection: Learn how to properly disconnect your Switch Pro controller on Windows 10 by accessing "Bluetooth and other devices settings."
Building BetterJoy from Source (Advanced Users)
If you're a developer and want to build BetterJoy from the source code:
Visual Studio (IDE)
- Install Visual Studio Community 2019: Download and install Visual Studio Community 2019, ensuring you select ".NET Desktop Development" during installation.
- Get the Code: Download the BetterJoy source code from GitHub using Git or the "Download ZIP" button.
- Open Solution: Open the BetterJoy.sln file in Visual Studio.
- Restore NuGet Packages: Restore the NuGet packages to resolve dependencies.
- Build: Build the solution to create your own version of BetterJoy.
Visual Studio Build Tools (CLI)
- Download Build Tools: Download and install Visual Studio Build Tools.
- Install NuGet: Install NuGet following the official guide.
- Get the Code: Download the BetterJoy source code from GitHub.
- Restore Packages: Open a terminal in the source code directory and run
nuget restore
. - Build with MSBuild: Run
msbuild .\BetterJoy.sln -p:Configuration=CONFIGURATION -p:Platform=PLATFORM -t:Rebuild
to build the application. ReplaceCONFIGURATION
withRelease
orDebug
andPLATFORM
withx86
orx64
.
Binaries Location
The compiled executables can be found in the /BetterJoyForCemu/bin/PLATFORM/CONFIGURATION
directory, where PLATFORM and CONFIGURATION match the values used during the build process.
Thanks to the Contributors
A massive thanks goes out to the following people and projects for making BetterJoy possible:
- rajkosto (ScpToolkit)
- mfosse
- Looking-Glass
- nefarious (ViGEm)
- epigramx (WiimoteHook)
- MTCKC
- dekuNukem
Plus, a big thank you to all the code contributors and icon designers!