Coruscnium-ControllerSensitivityFix icon

ControllerSensitivityFix

Decouples controller sensitivity from framerate for consistent look speed at any FPS. Controller rotation speed now stays the same whether you're at 30, 60, 120, or any framerate.

Last updated 3 days ago
Total downloads 18
Total rating 1 
Categories Mods Quality Of Life Client-Side
Dependency string Coruscnium-ControllerSensitivityFix-1.0.0
Dependants 0 other packages depend on this package

This mod requires the following mods to function

BepInEx-BepInExPack_Mycopunk-5.4.2403 icon
BepInEx-BepInExPack_Mycopunk

BepInEx pack for Mycopunk. Preconfigured and ready to use.

Preferred version: 5.4.2403
Sparroh-ModSettingsMenu-1.2.0 icon
Sparroh-ModSettingsMenu

In-game mod config editor plus click-and-drag HUD reposition mode for compatible mods.

Preferred version: 1.2.0

README

ControllerSensitivityFix

Decouples controller sensitivity from framerate for consistent look speed at any FPS.

The Problem

In Mycopunk (like many Unity games), controller stick input is not multiplied by Time.deltaTime. The method PlayerInput.LookInput() reads the game's Look InputAction and returns the raw stick value scaled by 40×, but never factors in frame time. This means:

Framerate Controller Sensitivity Why
30 FPS Slow Fewer frames = less rotation per second
60 FPS Normal What the game was tuned for
120 FPS Too fast More frames = more rotation per second
144 FPS Even faster Same reason

Mouse input is unaffected — it uses pixel deltas which are naturally framerate-independent.

The Fix

A single Harmony postfix on PlayerInput.LookInput() — the choke point for all gamepad look input. When the active device is a gamepad, the returned Vector2 is multiplied by unscaledDeltaTime × ReferenceFPS, making the effective rotation speed the same at any framerate. A 0.1s clamp on deltaTime prevents camera whip during load/GC hitches.

Installation

  1. Install BepInExPack_Mycopunk
  2. Place ControllerSensitivityFix.dll in BepInEx/plugins/
  3. Launch the game

Configuration

Edit BepInEx/config/coruscnium.controllersensitivityfix.cfg:

Setting Default Description
ReferenceFPS 60 The framerate the controller sensitivity was tuned for. At this FPS, sensitivity is unchanged. Higher FPS = scaled down; lower FPS = scaled up.

Credits

  • Icon: Xbox controller illustration from PNGWing (CC BY-NC 4.0)