Documentation Index
Fetch the complete documentation index at: https://mintlify.com/hedge-dev/UnleashedRecomp/llms.txt
Use this file to discover all available pages before exploring further.
Unleashed Recompiled supports controllers and keyboards out of the box. The [Input] section of config.toml holds settings for camera behaviour, vibration, and controller icon display. The [Bindings] section maps every virtual controller button to a keyboard key. Several [System] settings that affect gameplay behaviour are also documented here.
Controller settings are fully accessible from the in-game Options Menu. Keyboard bindings, however, must currently be changed by editing config.toml directly, as in-game action remapping is planned for a future update.
Using a controller is strongly recommended for the best experience. Keyboard support is functional but keyboard binding customisation requires manual editing of config.toml until the Action Remapping feature is added in a future update.
The [Input] section controls camera behaviour, vibration, and how the game detects and displays controller input.
| Setting | Type | Default | Description |
|---|
HorizontalCamera | enum | Normal | Horizontal camera rotation direction. Normal pans right when moving right; Reverse inverts this. |
VerticalCamera | enum | Normal | Vertical camera rotation direction. Normal pans up when moving up; Reverse inverts this. |
Vibration | bool | true | Enable or disable controller rumble/vibration. |
AllowBackgroundInput | bool | false | When true, the game continues to read controller input even when the window does not have focus. |
ControllerIcons | enum | Auto | Which button icons to display in-game. Valid values: Auto (detects your connected controller), Xbox, PlayStation. |
Example
[Input]
HorizontalCamera = "Normal"
VerticalCamera = "Reverse"
Vibration = true
AllowBackgroundInput = false
ControllerIcons = "Auto"
Keyboard Bindings
The [Bindings] section maps each virtual Xbox 360 controller button to a keyboard key. The table below lists every bindable action with its config.toml key name, the PlayStation equivalent button name (for reference), and the default keyboard key.
The default keyboard layout is based on Devil’s Details’ keyboard layout for Sonic Generations (2011).
| config.toml Key | Xbox Button | PlayStation Button | Default Key |
|---|
Key_A | A | Cross (×) | S |
Key_B | B | Circle (○) | D |
Key_X | X | Square (□) | A |
Key_Y | Y | Triangle (△) | W |
Key_DPadUp | D-Pad Up | D-Pad Up | (Unbound) |
Key_DPadDown | D-Pad Down | D-Pad Down | (Unbound) |
Key_DPadLeft | D-Pad Left | D-Pad Left | (Unbound) |
Key_DPadRight | D-Pad Right | D-Pad Right | (Unbound) |
Key_Start | Start | Start / Options | RETURN |
Key_Back | Back | Select / Share | BACKSPACE |
Key_LeftTrigger | Left Trigger | L2 | 1 |
Key_RightTrigger | Right Trigger | R2 | 3 |
Key_LeftBumper | Left Bumper | L1 | Q |
Key_RightBumper | Right Bumper | R1 | E |
Key_LeftStickUp | Left Stick Up | Left Stick Up | UP |
Key_LeftStickDown | Left Stick Down | Left Stick Down | DOWN |
Key_LeftStickLeft | Left Stick Left | Left Stick Left | LEFT |
Key_LeftStickRight | Left Stick Right | Left Stick Right | RIGHT |
Key_RightStickUp | Right Stick Up | Right Stick Up | (Unbound) |
Key_RightStickDown | Right Stick Down | Right Stick Down | (Unbound) |
Key_RightStickLeft | Right Stick Left | Right Stick Left | (Unbound) |
Key_RightStickRight | Right Stick Right | Right Stick Right | (Unbound) |
Changing Bindings
Open config.toml in a text editor while the game is closed and edit the [Bindings] section. Each value is a string containing the key name:
[Bindings]
Key_A = "S"
Key_B = "D"
Key_X = "A"
Key_Y = "W"
Key_DPadUp = "???"
Key_DPadDown = "???"
Key_DPadLeft = "???"
Key_DPadRight = "???"
Key_Start = "RETURN"
Key_Back = "BACKSPACE"
Key_LeftTrigger = "1"
Key_RightTrigger = "3"
Key_LeftBumper = "Q"
Key_RightBumper = "E"
Key_LeftStickUp = "UP"
Key_LeftStickDown = "DOWN"
Key_LeftStickLeft = "LEFT"
Key_LeftStickRight = "RIGHT"
Key_RightStickUp = "???"
Key_RightStickDown = "???"
Key_RightStickLeft = "???"
Key_RightStickRight = "???"
Valid Key Names
Key name strings correspond to SDL scancode names. The following are some commonly used values:
| Key | Value |
|---|
| Letter keys | A–Z |
| Number row | 1–9, 0 |
| Arrow keys | UP, DOWN, LEFT, RIGHT |
| Enter / Return | RETURN |
| Backspace | BACKSPACE |
| Space bar | SPACE |
| Tab | TAB |
| Escape | ESCAPE |
| Function keys | F1–F24 |
| Numpad keys | KP 0–KP 9, KP ENTER, KP PLUS, KP MINUS, KP MULTIPLY, KP DIVIDE |
| Unbound | ??? |
For the full list of recognised key name strings, refer to the SDL scancode enum template in the source code.
System / Gameplay Settings
These settings live in the [System] section and affect gameplay behaviour.
| Setting | Type | Default | Description |
|---|
Language | enum | English | Language for all in-game text and menus. Valid values: English, Japanese, German, French, Spanish, Italian. |
Hints | bool | true | Show hint rings and other contextual hints during stages and boss fights. Disable to reduce on-screen guidance. |
ControlTutorial | bool | true | Show button prompt tutorials during gameplay that teach the player how to use certain moves. Disable if you are already familiar with the controls. |
AchievementNotifications | bool | true | Display an achievement notification overlay when an achievement is unlocked. |
TimeOfDayTransition | enum | Xbox | Style of the day/night transformation cutscene in towns. Xbox plays the full video and artificially extends loading time so it completes. PlayStation ends the cutscene as soon as loading is done, matching the PS3 version’s behaviour. |
Example
[System]
Language = "English"
Hints = true
ControlTutorial = false
AchievementNotifications = true
TimeOfDayTransition = "PlayStation"