To fix physics, you must adjust the fMaxTime variable. The math is simple: $fMaxTime = 1 / RefreshRate$. If you use reprojection (e.g., Motion Smoothing), you must use your target frame rate (e.g., 60fps for 120Hz).
File Path & Setup
- Locate the file:
Documents\My Games\Skyrim VR\SkyrimVR.ini - Add the [HAVOK] section: If it doesn’t exist, create it at the bottom.
- Pro Tip: Use PLANCK and HIGGS mods in 2026 for physical hit detection; these settings provide the stable foundation those mods require.
Optimized Physics Configuration Table
Choose the values that match your headset’s active refresh rate.
| Refresh Rate | fMaxTime | fMaxTimeComplex | Technical Purpose |
| 90Hz | 0.0111 | 0.0222 | Standard VR physics sync. |
| 120Hz | 0.0083 | 0.0166 | Ultra-smooth high-Hz tracking. |
| 144Hz | 0.0069 | 0.0138 | Competitive-grade response. |
| 60fps (SS) | 0.0166 | 0.0333 | Use this if 120Hz is reprojected. |
[HAVOK]
fMaxTime=0.0083
fMaxTimeComplex=0.0166
uMaxNumPhysicsStepsPerUpdate=1
HowTo: Engineering Perfect Collision Speed
Follow these GameEngineer.net technical steps to stabilize your physics world:
- The Jitter Fix: If objects “vibrate” when you pick them up (via HIGGS), ensure
uMaxNumPhysicsStepsPerUpdate=1is set. This prevents the engine from trying to “catch up” on missed physics frames, which causes the micro-stutter. - Collision Clipping (fNearDistance): In the
[Display]section, setfNearDistance=1.0. This prevents weapons and hands from disappearing (clipping) when you bring them close to your face—essential for immersive melee and archery. - Melee Velocity Thresholds: In the
[VRInput]section, add:fMeleeLinearVelocityThreshold=4.0fShieldLinearVelocityThreshold=2.5This prevents “accidental swings” when you are just moving your hands normally, requiring a more intentional “snap” to trigger a hit.
- Audio Sync (The Water Bug): If you hear constant splashing, your
fMaxTimeis wrong. Setting it to the exact decimal of your frame rate ($1/120 \approx 0.008333$) tells the engine how often to calculate gravity and buoyancy. - PLANCK Optimization: If using the PLANCK mod, open its
activeragdoll.iniand ensure theStiffnessvalues match your high-Hz setup. Higher Hz allows for higher stiffness without the ragdolls “exploding.”
Technical Explanation: The Havok Tick Rate
Skyrim VR uses a Fixed Timestep for its Havok physics engine.
By default, the engine expects to calculate physics every $16.6\text{ms}$ (60Hz). If you run the game at 120Hz ($8.3\text{ms}$ per frame), but the physics is still calculated every $16.6\text{ms}$, you get Physics Desync. The engine will effectively simulate physics at half-speed, or skip every other frame’s worth of movement, leading to “jitter.” By setting fMaxTime to $0.0083$, you align the Physics Tick with the Render Frame, ensuring that for every frame your eyes see, the physics engine has calculated a corresponding movement update.