NativeController
Native controller support for R.E.P.O. - binds your gamepad straight into the game's own input (no emulation), with menu navigation, button glyphs, aim assist, chat keyboard + chat log, emote wheel wi
About this mod Author’s original text
Native Controller
Full controller support for R.E.P.O. (Semiwork, 2025) — built the native way. Instead of faking keyboard and mouse presses like other controller mods, Native Controller binds your gamepad directly into the game's own input system, so the game treats the pad as a real controller. No emulation jank, no double-input.
Every setting is exposed as a config entry. Tune to taste.
Why "native"?
Other R.E.P.O. controller mods emulate — under the hood they translate your gamepad into fake keyboard/mouse events. Native Controller doesn't: it registers the gamepad into R.E.P.O.'s own InputManager actions. So the game's own sensitivity applies to your look, analog inputs stay analog (e.g. holdable push/pull instead of discrete scroll ticks), and there's no desync with a real keyboard/mouse.
Features
- Native gamepad binding — the pad goes straight into the game's input system, not a keyboard/mouse emulation layer.
- Right-stick look — configurable speed, invert, deadzone.
- Full menu navigation — D-pad / left stick moves, A confirms, B backs. Covers the vanilla menus, server browser, saved games and REPOConfig's mod menu.
- Emote wheel + mic mute — hold D-pad Down; right stick picks, release plays (auto-clears, configurable). A Mute Mic slot toggles the same mute as keyboard B (multiplayer).
- On-screen chat keyboard — open chat with Back/View and type with the pad, through vanilla chat (live type-out, sync, TTS). Right-stick flicks recall sent messages.
- Chat log — a chat box of recent messages (names, newest at bottom), bottom-left; vanilla has none.
- Menu text fields on pad — lobby name, save rename, search and password screens auto-open the keyboard; hides itself on mouse.
- Push-to-talk on pad — bind any pad button to hold-to-talk ([Gamepad] PushToTalkButton); a status icon shows while your mic is cold and clears while you talk.
- No idle mouse pointer on pad — the menu pointer (and its hover) yields while the controller is active; back on mouse movement.
- Toggle sprint, grab & crouch — one press holds the action, a second (or vanilla's own stop conditions) ends it.
- Button prompts — GRAB / LET GO / ROTATE / CLIMB hints by the inventory, and the game's key tags show pad buttons (SHOTGUN [X] instead of [E]).
- Inventory D-pad arrows — slots show ← ↑ → instead of 1 2 3 on pad.
- Controller Layout overlay — button-map cheat-sheet in the Settings menu (needs MenuLib).
- Kind-aware glyphs — Xbox / PlayStation / Switch icons, auto-detected with manual override.
- Holdable push/pull — LB/RB drive the grab beam as a real held input.
- Aim assist — gentle, bounded nudge toward items and enemies; never overpowers your turn or locks on. Fully configurable.
- Splash-screen skip — a pad button skips the intro logos.
Default controls
| Action | Xbox | PlayStation |
|---|---|---|
| Move | Left stick | Left stick |
| Look | Right stick | Right stick |
| Jump | A | ✕ |
| Interact | X | □ |
| Tumble | B | ○ |
| Map | Y | △ |
| Sprint (press to toggle — stops on empty stamina / standing still) | L3 (left stick click) | L3 (left stick click) |
| Crouch (press to toggle — press again to stand) | R3 (right stick click) | R3 (right stick click) |
| Grab (press to toggle — press again to let go) | RT | R2 |
| Rotate held object | LT (hold) | L2 (hold) |
| Pull / Push (held) | LB / RB | L1 / R1 |
| Inventory slots 1 / 2 / 3 | ← ↑ → | ← ↑ → |
| Pause menu | Start | Options |
| Chat (opens the on-screen keyboard) | Back | Create |
| Emote wheel (right stick picks, release toggles) | ↓ (hold, in game) | ↓ (hold, in game) |
| Show the Controller Layout overlay | Settings menu | Settings menu |
Installation
- Install BepInEx 5.4 for R.E.P.O.
- Drop NativeController.dll into BepInEx/plugins.
- (Optional) Install MenuLib to get the "Controller Layout" button in the Settings menu.
- Launch the game once to generate BepInEx/config/com.pogwas.nativecontroller.cfg, then edit it to taste — or use REPOConfig for an in-game UI.
Steam Input:
Install & use Install: BepInEx plugin
- The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
- Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
- Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
- Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.
Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file.
Install these first, or the mod will not work: