About this mod
This mod fixes the asymmetric mouse sensitivity scaling in Stalker 2, ensuring that horizontal (X-axis) and vertical (Y-axis) sensitivities are perfectly balanced, as they should be.
- Permissions and credits
This update changes how the mod works and should now be compatible with ALL other mods. I'd recommend manually deleting the old version of my mod before dropping in the new.
Description
Stalker 2's default settings ship with asymmetric sensitivity scaling, where the vertical (Y-axis) sensitivity is different from the horizontal (X-axis), leading to frustratingly inconsistent aiming and camera control.
What This Mod Does
This mod adjusts the game’s sensitivity scaling to ensure uniform input response across both axes. By balancing the X and Y sensitivities:
- Aiming and camera control feel consistent, improving precision.
- Fixes the vertical sensitivity multiplier to match horizontal sensitivity.
- While created with M&K users in mind, it also works for controller input. However, this mod doesn't fix the game's dodgy deadzone settings for controllers—though I may look into that next.
The game shipped with movement parameters `BaseTurnRate = 40` & `BaseLookUpRate = 30` by default. This mod sets both values to 40—simple but effective.
Installation
- Download the mod file.
- Extract the contents to `Steam\steamapps\common\S.T.A.L.K.E.R. 2 Heart of Chornobyl\Stalker2\Content\Paks\~mods`
- If there's no `~mods` folder in your Paks directory, create a new folder and name it `~mods`.
- Launch the game and enjoy consistent mouse movement.
Once you've loaded into your latest save, it's worth manually reloading your save to ensure the mod is correctly applied.
Input.ini
If you've added "AxisConfig" lines to your `Input.ini`, remove them. The parameters this mod adjusts will override those settings anyway. However, I recommend keeping or adding the line `bEnableMouseSmoothing=False` in your `Input.ini`, as the game ships with mouse smoothing enabled by default.
Compatibility
As of v2.0, this mod edits a more obscure file `TestNPCObjPrototypes.cfg` instead of the original `ObjPrototypes.cfg` that many other mods use. This means my mod should now be compatible with just about anything—provided other modders don't start copying this new method (we’ll see).
Note
Here’s a quick breakdown of how mouse movement works in Stalker 2:
- Defined in the Blueprint:
In the Blueprint (`BP_Stalker2Character.uasset`), `BaseTurnRate` and `BaseLookUpRate` are default values—(`BaseTurnRate_0[9] = 85.0`) and (`BaseLookUpRate_0[10] = 75.0`). These defaults are part of the compiled class (`BP_Stalker2Character_C`) and act as initial settings for sensitivity. - Overwritten by Config:
At runtime, the game loads values from `ObjPrototypes.cfg`, which includes a `MovementParams` section—(`BaseTurnRate = 40` & `BaseLookUpRate = 30`). These values override the Blueprint defaults. - Runtime Behavior:
The engine prioritizes config file values, allowing adjustments without recompiling or modifying Blueprints. My mod updates `TestNPCObjPrototypes.cfg` to set both rates to 40. Unfortunately, it isn’t possible to change these values in user-exposed `.ini` files, which would have been preferable. They're stored as double-precision floating-point numbers in UE5. Through testing, I’ve confirmed values between 1-100 work, with `1` making mouse movement barely possible on the affected axis.