Remapt is a input remapping system that builds on top of the pre-existing input architecture of Unreal Engine 4. This walkthrough will help you get started with implementing remapping into your project.
Before going through this tutorial, you should understand the basics of the UE4 input framework. You can learn more about this here.
What Does Remapt Do?
There are basically two sides to input processing: mapping (perception) and binding (reaction). In between, there is a named event. Mapping links hardware inputs to a named event. Binding routes named events to game handlers, which run gameplay logic. Below is a simple representation.
Hardware Inputs === Mapping ===> Event === Binding ===> Game Handlers
Spacebar === Mapping ===> "Jump" === Binding ===> OnJumpPressed()
The binding API that comes with UE4 is fairly robust. However, the mapping API is minimal (to put it gently). This is where Remapt comes in. Among other things, Remapt allows you to:
- Define multiple mapping loadouts (called Decks)
- Reset individual mappings or entire loadouts to default
- Categorize and tag mappings
- Save unique settings for unique users
All runtime functionality for the Remapt system is exposed through a Blueprint library called the Remapt Hub. It provides methods for querying and editing mappings, Decks, and settings. As a developer, you can build an interface that exposes this functionality to your end users.
To get started, make sure that the Remapt plugin is enabled for your project. If it is not, you can enable it by opening the Plugins dialog (Edit->Plugins), finding the Remapt plugin, and clicking the appropriate checkbox to enable the plugin. You may need to restart the Editor.
And that's it! The Remapt system will load on Engine/Editor start, and you can begin poking around. To see what a fully functional example looks like, download the Showcase Project. To learn more about the bits and pieces of the system, check out the additional documentation on this site. You can start by reading up on loadouts.