This is a plug-n-play UI implementation for rebindable KBM and Controller/Gamepad controls using Unity's InputSystem. The implementation most closely resembles Rocket League's controls/bindings UI.
Walkthrough Video: https://youtu.be/xPN4kGig21A
- Composite controls are not rebindable; they will still be displayed in the UI with different formatting
- There isn't any duplicate binding check
Use the sample in the package as reference
- Create your InputActionAsset with the controls you would like for your game
- Create two control schemes in the InputActionAsset "KeyboardMouse" and "Gamepad", and mark the bindings in the InputActionAsset's InputActionMap accordingly
- Create an Empty Gameobject in your scene named 'RebindingManager' and add the component RebindingManager
- In this component, hook up the InputActionAsset and add the name of the ActionMap that you want to be rebindable
- Add a UI Canvas to your scene
- In the package's file directory find the UI prefab at Runtime/Prefas/ControlBindingsPanel.prefab and drag it into the Canvas Gameobject
- Rescale the Canvas to your liking
- Start the scene to see your bindings in action in the UI