Virtual Controller Creation, Usage & Troubleshooting

If your game is not detecting the virtual controller from DS4Windows, it might be confused because it is considering both your real and virtual controllers at the same time. This makes the game unsure of which one to use. Sometimes, the real controller takes priority and the game ignores the virtual one or waits for inputs from the wrong source.
Use HidHide to hide your physical controller properly and use DS4Windows to run it as an administrator.
Some games detect both controllers, and some games get stuck with the real controller and can’t read the virtual controller. In DS4Windows, in the Exclusive Mode column (Ex), the space should be empty. This shows that the real controller is hidden properly. If X is appearing in the column, it means that both physical and virtual controllers are functioning.
Before proceeding with troubleshooting games not recognizing the virtual controller, first, ensure that this issue is not the cause. Here is how you can fix the double controller issue.
Reasons Games Are Not Recognizing Virtual Controllers
If your game is not detecting the virtual controller created by DS4Windows, there could be several reasons. The most common issues include:

Now, we start by confirming that DS4Windows is creating a virtual controller. Then, in the next step, we will verify that the virtual controller is working. After that, we will discuss the issues that, despite correctly creating the virtual controller and it working, games don’t recognize it, and how we can solve the issue.
1. Checking if DS4Windows is Creating the Virtual Controller
When DS4Windows successfully creates a virtual controller, the “Associate (X360/DS4) Controller (…)” message appears in its log, and the virtual Xbox or DS4 controller appears in the Windows Game Controller list.
DS4Windows’ function is to create a virtual controller from the physical controller that we connect to our PC. If a virtual controller is not appearing, it means DS4Windows is not working correctly.
The creation of a virtual controller doesn’t mean that it changes your real controller into a different one. Instead, it creates a virtual Xbox or DS4 controller that links to your real one.
How to Check:
- Open DS4Windows’ Logs and look for the message: “Associate (X360/DS4) Controller (…)”

If the message is appearing, but you can’t see the controller in the Windows Game Controllers list, then there must be one of these three issues:
1. ViGEm (Virtual Controller Driver) Might Have Failed:
- To check if ViGEm is working or has failed, press Win + X to open Device Manager.
- Expand System devices, and you should see Nefarius Virtual Gamepad Emulation Bus (ViGEm Bus Driver) listed there.
- If you see a yellow warning icon, right-click it and select Update Driver.
- Now the controller should appear in the Windows Game Controller list.
- If updating doesn’t help, uninstall the driver and reinstall it.

2. HidHide or HidGuardian Might Be Hiding the Virtual Controller:
- Open the HidHide Configuration Client (if you have it installed).
- Here, only the real controller should be hidden, and not the virtual controller.
- If you see that the virtual controller is hidden, uncheck it, remove it from the hidden list, then restart DS4Windows to apply the changes.

3. Having Both HidHide and HidGuardian Installed Can Cause Conflicts:
- HidGuardian is the older driver used to hide the real controller, but now it’s obsolete because it also hides the virtual controller.
- If you have both drivers installed, then uninstall HidGuardian and keep HidHide.
Here’s how to do it:
- Go to Control Panel > Programs and Features (or Settings > Apps > Installed Apps on Windows 11), find HidGuardian, and uninstall it.

After doing these steps, restart DS4Windows and test if it is creating the virtual controller.
If the Message Is Not Appearing in the Windows Log
If the “Associate (X360/DS4) Controller (…)” message is not appearing in the log, it means that you have accidentally turned off the virtual controller in your DS4Windows settings.
Here’s how you can fix it:
Go to the Controllers tab of DS4Windows
Click on Edit Profile for the controller that you are using correctly.

Move to the Other tab and check the Disable virtual controller option.
This box should not be ticked. If it is checked, it means you have turned off the virtual controller.
Uncheck this box and save changes.

After solving both A & B situations, the log should show the message, and the controller should also appear in the Windows Game Controller list.
2. Confirming the Virtual Controller is Working Properly
An online gamepad tester can confirm whether a virtual controller is working properly or not.
After the above steps, both the message and the controller should appear in the controller list, but if you are still struggling with games not recognizing the virtual controller, then maybe the virtual controller is not working properly.
Here is how we can test whether the virtual controller is working or not.
Steps to Test:
Use an online gamepad tester and check if all buttons and sticks are responding.

A: If the inputs are wrong or the keys are unresponsive:
- You might have wrongly configured the profile settings of the currently selected controller, for which the virtual controller is not being detected.
- Fix it by creating a new profile in DS4Windows using a default gamepad preset and testing again.


B: If every key is showing as responsive in the gamepad tester but the game still doesn’t detect anything, double-check:
- The selected profile in DS4Windows
- If button mappings are properly set
- If a blank profile is accidentally being used

3. Game Not Recognizing the Virtual Xbox Controller or Losing Connection
Sometimes, a game fails to detect the virtual controller at all, or it detects it but stops recognizing it after you reconnect the controller.
This can happen because of a Windows bug where your system assigns the Xbox controller to the wrong slot, and consequently, the game fails to recognize it.
What Are XInput Slots?
Xinput slots are like parking spots for controllers. Windows uses XInput slots to connect Xbox controllers to games. Only four slots are available, and each controller gets one spot.
- Slot 1 = Controller 1
- Slot 2 = Controller 2
- Slot 3 = Controller 3
- Slot 4 = Controller 4
Games look at these slots to know which controller to use.
Why Does This Issue Happen?
Imagine you connect your controller to Windows, and it gets assigned to Slot 1. Later, you disconnect the controller, but sometimes Windows doesn’t clear that slot, so it stays occupied.
When you reconnect the controller, Windows may assign it to Slot 1 again. But when you launch a game, the game sees that Slot 1 is already taken, gets confused, and refuses to recognize the controller.
Another reason for this issue is that some games or older apps keep holding onto the slot, even after they are closed. So when you connect a new controller, that slot is still in use, and as a result, the controller doesn’t show up in games.
We use Ds4Win to emulate different types of controllers, like Xbox controllers, so games can recognize them easily. Windows gives you the option to assign a specific XInput slot like Slot 1, permanently to a controller.
If you set Slot 1 as permanent for an Xbox controller, then even if you disconnect that controller and later try to connect a DualShock 4 controller, the game won’t detect it properly. That’s because the game still thinks Slot 1 is already taken by the Xbox controller.
So, we recommend:
Only set a permanent slot if you always use the same type of controller with DS4Windows.
If you want to switch to a different controller, like from Xbox to DualShock 4, you should first release or unplug that slot, so it’s free for the new controller


How to Fix XInput Slot Issue?
Step 1: Connect at Least One Real Controller
- Plug in your physical controller.
Step 2: Check Which Slot Your Controller is Using
- Open DS4Windows.
- Go to its Settings tab.
- Launch the tool called XInputTest.

- Press buttons on your controller and see which slot is responding. For example, if you press a button and Slot 2 reacts, then your controller is on Slot 2.

Step 3: Find Out Which Programs Are Using XInput Slots
- Download Microsoft Process Explorer. It’s a free tool.
- Extract the zip file and run procexp64.exe.

- Go to the Find menu at the top, and click “Find Handle or DLL…” or press Ctrl + Shift + F.
- In the search box, type XInput and press Search.

- It will show you all programs that are currently using XInput slots.

- You will see which slots are being used and by which apps or games.
Step 4: Close or Remove Conflicting Apps/Games
- If a program is holding onto an XInput slot, close it.
- If you don’t need it anymore, you can even uninstall it.
- Restart your PC to clear all XInput assignments.
Step 5: Permanent Slot
- Another way to fix this issue is to assign a permanent slot if you only use an Xbox controller.
- If you use different types of controllers with DS4Win, like Xbox, DS4, and DS5, then don’t go with this fix, as it will again create confusion in detecting the DS4Win virtual controller.
Step 6: Test Your Controller
- Go to a Gamepad Tester website online.
- Press buttons on your controller and make sure everything responds.
- Try disconnecting and reconnecting the controller a few times to check if it works every time.
4. Common Reasons Games Don’t Detect a Virtual DS4 Controller
The game may not detect the DS4Windows virtual controller if it’s only compatible with Xbox controllers or if it requires Steam Input.
We have observed three reasons why the game doesn’t detect the virtual DS4 controller.
A: The Game Only Supports Xbox Controllers:
Most PC games only support Xbox controllers because they are easier to set up. Even some PlayStation games on PC do not fully support DS4.

How to Check:
- Go to PC Gaming Wiki and search for your game.
- Look under the Input settings section and expand all the hidden menus.
- Even if the game supports DS4 controllers, some features like rumble don’t work with DS4Windows.



Fix:
- After checking PC Gaming Wiki, if you have confirmed that your game does not support DS4 controllers, switch to Xbox controller emulation in DS4Windows.
B. The Game Requires Steam Input for DS4 Controllers:
Some games only recognize DS4 controllers when you connect them through Steam Input.

Fix:
- Open Steam.
- Go to Settings → Controller → General Controller Settings.
- Enable PlayStation Configuration Support.
- Launch the game through Steam.

When you use a DS4 virtual controller with Steam, you have to rename DS4Windows so Steam doesn’t ignore it.
C. The Game Ignores Virtual Controllers:
Some gamers think that games purposely ignore DS4 controllers, but in our opinion, this is because of one of the issues that we have discussed on this page. There is nothing like a game intentionally ignoring the DS4 controller.
For example: Shovel Knight ignores the DS4 controller when you’re using DS4Windows, but if you switch to an Xbox controller, it works fine.

Wrapping Up
First, check if DS4Windows is creating a virtual controller. You can do this by looking at the logs and the Game Controllers list on your PC. If the virtual controller is there, test if it’s working properly with an online Gamepad Tester. Make sure all buttons and sticks are responding as they should.
If the controller keeps disconnecting or is not recognized, Windows might be assigning it to the wrong XInput slot, so you will need to fix that. Also, visit PC Gaming Wiki to double-check if the game even supports DS4 controllers, since many PC games only work with Xbox controllers by default. And if your game needs Steam Input to recognize DS4 controllers, turn that on in Steam’s settings.
