-
Book Overview & Buying
-
Table Of Contents
Unity Game Development Scripting
By :
The first function we'll create is one that will detect whether we actually have a gamepad plugged in. Unity inherently gives us a way to make this very easy.
First, we'll add variables that we'll use in the detection and identification functions. Add these to the top of your script, just after the class declaration:
bool isControllerConnected = false; public string Controller = "";
This Boolean will be used in later functions to determine whether there is a gamepad connected. The string will be used to hold the name of the gamepad connected.
Our next step is to add the DetectController function. This will use the Boolean we created earlier and check whether there is a gamepad connected. Add the following code to your script:
void DetectController()
{
try
{
if(Input.GetJoystickNames()[0] != null)
{
isControllerConnected = true;
IdentifyController();
}
}
catch
{
isControllerConnected = false;
}
}This function uses the GetJoystickNames function of the input, which gets and returns an array of strings, which consists of the names of the connected gamepads. We use this to set our Boolean to true or false; true meaning there's a device connected and false meaning that the game couldn't detect a device. The reason we use a try-catch expression is because if there is no gamepad connected Input.GetJoystickNames() will give you an IndexOutOfRangeException error.
Our last step in creating the device detector will be to add the ability to identify the gamepad connected. Add this function to the script, just below the DetectController function:
void IdentifyController()
{
Controller = Input.GetJoystickNames()[0];
}As you can see, we are assigning the name of the gamepad connected to our Controller variable. To use this function, call it within the DetectController function, in the if statement, where we set isControllerConnected to true.
Change the font size
Change margin width
Change background colour