Best Practices
Controller Mapping:
- Always make a mapping for the Gamepad Template. The vast majority of players using controllers will be using a gamepad. To save time, map for the Gamepad Template and all gamepads recognized by Rewired will just work.
- Always make a mapping for the Unknown Controller. If a player uses a controller that isn't recognized, they can at least have some kind of input without manual mapping. Please see this for more information and recommended mapping guidelines.
- Always provide some means for your users to remap their controls. Many controllers cannot ever be recognized by Rewired due to bad practices by manufacturers. To support these controllers properly and give your users the best experience, you must provide them a way to remap their controls. You can either include Control Mapper directly in your game or create your own control remapping system.
Controller Assignment:
- Always provide some means for your users to change controller assignments. It is especially important if you are making a multi-player game. You cannot know what devices, physical or virtual, will be present on a user's system, appear as Joysticks to Rewired, and be assigned to a Player. Device emulation software (VJoy, DS4Win, SCPToolkit, etc.) and certain device drivers can and frequently do cause problems by creating extra, non-functional virtual devices. Allowing the user to make their own controller assignments solves this issue as well as making it possible for users to swap controllers, etc. You can either include Control Mapper directly in your game or create your own system.
- If your game is 1-Player: Set Max Joysticks Per Player to 100 so all controllers attached to the system may be used by the player.
Windows Standalone Platform:
- Always enable Use XInput (enabled by default). XInput provides universal comaptibility with all XInput-compatible controllers such as Xbox controllers and clones. It also provides support for vibration and independent triggers on these controllers.
Steam:
- Read this important information about Rewired and Steam.
- Initialize Steam before initializing Rewired.
- Configure the Steam Controller settings correctly in the Steam developer backend.
- Make sure you are using the correct input source(s) for each platform.
- Decide if you want to opt in to Steam controller configuration support for any controllers.
- Make sure you have Joystick Maps configured for the Gamepad Template.
- See these topics for more information on Steam and Steam issues.
