Mycopunk
You are viewing a potentially older version of this package. View Latest Version
Install

Details

Date Uploaded
2 weeks ago
Downloads
38
Size
50KB
Dependency string
Coruscnium-ControllerSensitivityFix-1.0.0

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)
Thunderstore development is made possible with ads. Please consider making an exception to your adblock.