Local co-op with DualSense controllers is great, until Windows starts mixing up which input belongs to which player, or your mapping software lumps everyone into a single profile. Getting multiple controllers working cleanly just takes setting up isolated virtual channels for each one.
Why This Needs Extra Setup
Windows doesn’t automatically know that four separate DualSense controllers should map to four separate players, especially once a virtual emulation layer is involved. DSX can handle multiple controllers, XInput (the protocol DSX typically emulates) supports up to four controller slots, which lines up with why four tends to be the practical limit for a setup like this, but each one needs to be paired and assigned individually rather than expecting it to sort itself out automatically.
Setting Up Multiple Controllers
Before connecting anything, open DSX, go to Settings, and confirm ViGEmBus is installed and up to date, it’s what allows DSX to host multiple independent virtual controller streams at once.
Pair controllers one at a time, not simultaneously:
- Take your first controller, hold PS + Create until the lightbar flashes rapidly, then pair it through Windows Bluetooth settings
- Wait for its lightbar to go solid, confirming a stable connection, before starting the next one
- Repeat individually for each additional controller
Pairing them all at once tends to cause Windows to mix up which device is which, taking it one at a time avoids that entirely.
Create separate profiles if you want distinct settings per player:
- Go to Profiles and build a profile for each player if you want different button layouts or lightbar colors to help tell them apart at a glance, naming them clearly (“P1”, “P2,” and so on) makes assignment easier in the next step
- If everyone’s using the same settings, one shared profile works fine too, this step is optional
Assign profiles to specific controllers:
Back on the main Controllers tab, you’ll see each connected DualSense listed. Use the profile dropdown next to each one to assign the right profile to the right physical controller, then start DSX. Each one now presents itself to your game as a distinct, independent controller.
Managing Bandwidth Issues
Multiple DualSense controllers over Bluetooth simultaneously puts real load on your wireless adapter, and it’s a common source of stuttering or lag once a second or third controller joins.
A few things that help:
- Adapter quality matters more than people expect. Budget, generic Bluetooth USB dongles often struggle with multiple simultaneous HID connections. Adapters built around well-regarded chipsets (Realtek-based options like the ASUS USB-BT500 or TP-Link UB500 are commonly recommended for this specific use case) tend to handle multiple controllers more reliably than a bargain-bin dongle.
- HidHide still applies here. If you’re seeing menu-skipping or double inputs across multiple controllers, HidHide needs each physical controller’s hardware ID hidden, not just one, check that all of them are checked under its Devices tab, with DSX whitelisted under Applications.
- Consider a mixed wired/wireless setup if bandwidth is genuinely a bottleneck. If three or four controllers over Bluetooth is causing consistent lag, connecting a couple of them via USB-C instead splits the load, wireless handles two players, wired handles the others, rather than asking one Bluetooth adapter to manage everything at once.
Testing Before You Start Playing
Before jumping into a game, it’s worth confirming each controller is actually mapped to the player slot you expect. Have each person press a distinct button (like each pressing a different face button) and confirm the right on-screen player responds, catching a mismatched assignment before a match starts saves a confusing few minutes of “why isn’t my controller working” mid-game.
If You’re Still Having Trouble
Persistent detection issues across multiple controllers are more often a driver or Bluetooth adapter problem than a DSX configuration mistake. Our Drivers page covers ViGEmBus and HidHide setup in more depth, and our Troubleshooting guide is worth checking if a specific controller keeps dropping out rather than all of them behaving inconsistently, that pattern usually points to that one controller’s connection specifically rather than your overall setup.
A Few Extra Tips for Couch Co-Op Sessions
If you’re regularly hosting multiplayer sessions with friends who bring their own controllers, it’s worth keeping a couple of spare, tested profiles ready rather than building fresh ones each time, “Guest_Xbox” or similar generic profiles save time versus configuring something custom for someone who’s only playing for one evening. It’s also worth periodically checking that all your controllers are on similar firmware versions if you’re noticing inconsistent behavior between them, an older controller with outdated firmware can sometimes behave slightly differently than a recently updated one even when both are configured identically in DSX.
If you’re using a mix of controller types, some DualSense, some DualShock 4, be aware that mixing controller families in the same session can occasionally introduce its own quirks, since they’re not always polled or recognized with perfectly identical timing. This usually isn’t a serious problem, but if you’re troubleshooting an issue that only shows up with a specific combination of controllers, it’s worth testing whether the same controllers alone (without the mixed pairing) resolve it, that can help isolate whether the issue is DSX-related or specific to how those particular controller models interact together.