I'm not sure what happens when more than one controller is connected but if there's only one controller then GamePad.GetState(PlayerIndex.One).IsConnected will always turn up false.
What type of controller are you using? Does it appear in the devices list in Control Panel?
A Dualshock 4 with the help of DS4Windows.
However, Windows shows two controllers anytime it is connected. One Xbox360 controller and a generic Wireless Controller. Both of which respond to the inputs passed when checking.
I'm not entirely sure if this is the fault of the tool to emulate an Xbox360 controller or general driver problems. I don't have this issue when playing other games though...
That's an issue with DS4Windows, it does a couple dirty things to emulate an Xbox 360 controller. I've seen a lot of players having this ghost gamepad problem.
Are you able to use your gamepad on another player index?
I can use the gamepad if I check inputs from player 2. But player 1 will always be disconnected.
I'm not entirely sure how I should combat this issue at hand though if it is a problem with DS4 Windows. I don't own any Xbox controllers (neither 360 or One).
The best practice is to have a prompt when you start the game like "press any button", and check on every player index for inputs. Once you catch a button press, register and use that player index for the remaining of the session.
That's what most games do. You can't do much about ghosting of third party software and many other players will have the same setup.
Alright, I will go with that route then, thanks.
Closing as this was not a issue on our side.
Most helpful comment
The best practice is to have a prompt when you start the game like "press any button", and check on every player index for inputs. Once you catch a button press, register and use that player index for the remaining of the session.
That's what most games do. You can't do much about ghosting of third party software and many other players will have the same setup.