- Home /
Computer game for 2 players with AUTODETECTION for the gamepads
Hello everyone. I want to make a computer game for 2 players with autodetection for the gamepads.
The program detects if the first player is using a PS4 controller, a Xbox controller or the keyboard and do the same for the second player.
My code works perfectly except if 2 controllers are not connected. Could you help me?
public void ControllerAvailable()
{
string[] names = Input.GetJoystickNames();
if (Input.GetJoystickNames().Length > 0)
{
if (Input.GetJoystickNames()[0].Length > 0)
{
for (int x = 0; x < names.Length; x++)
{
if (names[x].Length == 19)
{
ps4Controller1Available = true;
xboxController1Available = false;
keyboard1Available = false;
}
else if (names[x].Length == 33)
{
ps4Controller1Available = false;
xboxController1Available = true;
keyboard1Available = false;
}
else
{
ps4Controller1Available = false;
xboxController1Available = false;
keyboard1Available = true;
}
}
}
if(!string.IsNullOrEmpty(names[1]))
{
if (Input.GetJoystickNames()[1].Length > 0)
{
for (int x = 0; x < names.Length; x++)
{
if (names[x].Length == 19)
{
ps4Controller2Available = true;
xboxController2Available = false;
keyboard2Available = false;
}
else if (names[x].Length == 33)
{
ps4Controller2Available = false;
xboxController2Available = true;
keyboard2Available = false;
}
else
{
ps4Controller2Available = false;
xboxController2Available = false;
keyboard2Available = true;
}
}
}
}
}
Comment
Your answer
Follow this Question
Related Questions
gamepad controls 1 Answer
Logitech Gamepad F310 button map? 1 Answer
Cannot get HID gamepad to work in Android 0 Answers
How to set up initial delay in UI key input repeat? 1 Answer
SteelSeries Nimbus not compatible? 2 Answers