For A Hat in Time, we’ve added support for the gamepads we have available (Xbox 360, Xbox One, GameCube (w/ Raphnet adapter), Dual Shock 4, Logitech F710, SNES (w/ RetroLink)).
If you’re using a different controller, the game won’t recognize it, but you can add support for it manually fairly easy. This is a guide on how to do so.
Creating the Config File
- Navigate to /SteamApps/Common/HatinTime/HatinTimeGame/Config/GamePads/.
- Duplicate the Xbox360.ini file and rename it to suit your controller (examples: SNES.ini, GameCube_MayFlash.ini, etc)
- Open the config, and change the value of “ControllerName” to the name of your controller.
Getting the GUID
In order to have the game pick up your specific controller, the game needs to know the ID for your kind of controller. For this we recommend DITool, but there are other tools that do the same.
- Download DITool and launch it.
- You should get something that looks like the following screen:
- In the above picture, I have my Xbox One controller plugged in. The ID we need is guidProduct.
- Change the value of “+GUID” to the guidProduct seen in DITool. The “<” and “>” aren’t needed.
Changing Button Layout
This is where things start to get a little bit complex, but it shouldn’t be too bad. We’ll start with changing the digital button IDs.
- Open “Set up USB Game Controllers” in Windows (search for it in Start).
- Open the properties for your gamepad, it should look like this:
- Press the JUMP button on your gamepad. For our Xbox One controller, (1) lights up. In order to get the button id, we subtract 1. This means that the button ID for JUMP is 0 for our gamepad.
- In the config for our gamepad, we go to the [Buttons] group and find Hat_Player_Jump.
- We then set the ButtonID for Hat_Player_Jump to 0.
- Repeat this for all other digital buttons.
Changing Analog Input
- For analog input, there variable to change is AxisID instead of ButtonID. Unfortunately, Windows has no easy way of displaying AxisIDs for gamepads.
- You may have to try various values for AxisIDs until you get them right. The AxisIDs usually range between [0 – 5].
- You will have to restart the game after making changes to the ini.
After following the above steps, you’re done!
We’re sorry that it’s a bit tedious to add support for gamepads right now; we hope to make this integrated into the game settings in the final release.
If you make a config for a gamepad, please share it with us! We’ll include it so other people can put it to good use.