WhiteKnuckleVR
A full VR conversion mod for White Knuckle, including 6DOF motion controls and gesture based climbing.
| Last updated | a day ago |
| Total downloads | 1421 |
| Total rating | 3 |
| Categories | Mods Misc Gamemodes Tweaks AI Generated |
| Dependency string | KyaniteRock-WhiteKnuckleVR-1.2.1 |
| Dependants | 0 other packages depend on this package |
This mod requires the following mods to function
BepInEx-BepInExPack
BepInEx pack for Mono Unity games. Preconfigured and ready to use.
Preferred version: 5.4.2305README
White Knuckle VR
A full 6DOF VR conversion for White Knuckle, the speed climbing game from Dark Machine Games.
Features stereo rendering, roomscale movement, and 6DOF gesture-based motion controls. The philosophy of this mod is that it should be completely on-par with the physics-based gameplay of the vanilla game. All VR interactions work as inputs into the existing physics system, meaning that the player moves in exactly the same way as in vanilla. The only difference is that you are using your hands to climb and jump. This also means that buffs & debuffs should all work right out of the box.
Physical item interactions are not yet supported. This is something I'd like to add in the future, but it will likely require significant effort.
Installation
- Install through Thunderstore
- Activate your VR runtime (OpenXR or SteamVR), and launch the game. The game will launch once in flatscreen. Close the game.
- Launch the game with your VR runtime active. It should launch into VR.
The first launch writes three config files into BepInEx/config/. See
The VR settings menu.
Finding your game folder: in Steam, right-click White Knuckle → Manage → Browse local files.
Playing in flatscreen mode
Set activateVR to false in BepInEx/config/VRToggle.json and relaunch. The game will launch without the VR mod active.
Controls
Right controller
| Control | Action |
|---|---|
| Grip | Grab a handhold |
| Trigger | Interact with buttons and levers; pick up items; use a held item |
| A | Jump |
| B | Quick-pocket right / Hold to drop item / Cancel in menu or terminal |
| Stick | Turn (left/right). Smooth or snap, set in the VR settings menu. |
| Stick click | Toggle crouch. Hold to open the pause menu (toggle crouch mode only). |
| Menu button | Maps to the gamepad Select button |
Left controller
| Control | Action |
|---|---|
| Grip | Grab a handhold |
| Trigger | Interact with buttons and levers; pick up items; use a held item |
| X | Open / close inventory. Hold to open the pause menu (toggle inventory mode only). |
| Y | Quick-pocket right / Hold to drop item |
| Stick | Walk and strafe. Also climbs, unless climbMode is set to Gesture Only. |
| Stick click | Sprint |
| Menu button | Pause / Open Menu |
Gestures
Gestures allow you to move and climb using physical movements, but you can achieve most of these movements with button presses as well. You can turn off or tweak each gesture's activation threshold in ModParameters.json.
Climbing
While gripping handholds, your hand effectively operates as your movement joystick. Your body moves opposite your arm:
- Pull your hand down to climb up
- Move your hand left to climb right
- Pull your hand towards your chest to swing forward
- Extend your hand to move away from the handhold
There is a dead zone around a neutral, where your VR movement will be none.
Set climbMode in the VR settings menu to choose:
- Either (default) — use arm gestures to climb, but arm gestures can be overridden by using the left joystick
- Gesture Only — use arm gestures to climb, joystick is inactive
- Joystick Only — vanilla stick climbing, arm gestures are inactive
Dyno / Wall Jump
While gripping the wall, you can flick your hand downwards and release the grip button to launch off of it. If you move your arm down in a diagonal, you will jump off the wall opposite to the direction of the diagonal. If you are holding the wall with two hands, you'll need to do this with both hands, or release one hand and dyno with the other. You can also jump off the wall by pressing A.
Jump (on the ground)
Flick both hands upwards to jump off the ground. You can also jump off the ground by pressing A.
Sprint
Make a mock-running motion with your hands to sprint. You can also sprint by clicking the left joystick.
Physical crouch
Crouch in real life to crouch in-game. Resetting your VR view resets your "standing height", which allows you to play in standing or seated mode.
Throw / drop an item
While holding grip, make a throwing motion, and then release the grip button, to throw or drop an item.
Hand swap
While holding an item, bring your hands together and press both grips at the same time to pass it between your hands.
Items
X opens and closes your inventory. Time slows down while it is open by default.
While holding an item, you will see a laser pointer showing where the item is pointing. Press trigger to activate the item, or hold it for charged attacks.
The VR settings menu
Pause in-game to access the VR Settings screen. More settings are available in 3 json files in BepInEx/config/.
VRToggle.json
This file allows you to turn on or off the mod, or deactivate motion controls (to use a keyboard + mouse or gamepad).
| Key | Default | Meaning |
|---|---|---|
activateVR |
true |
set to false to disable the VR mod |
useMotionControls |
true |
set to false to play in VR, using either keyboard + mouse or gamepad controls |
WhiteKnuckleVRSettings.json
These are the exact same settings available in the VR Settings menu.
ModParameters.json
Many tunable parameters are available in this file which affect the implementation of the motion & gesture controls. These aren't intended to be changed for normal play, but I'll explain the most useful parameters below.
| Key | Default | Meaning |
|---|---|---|
reachMultiplier |
6 |
A multiplier allowing you to reach past your physical hands. It is required for your VR reach to match your reach in the vanilla game. |
vrHandScale |
1 |
Size of hand sprites |
heldItemScale |
1 |
Size of held items relative to hand size |
gripScheme |
auto |
auto uses the trigger on Index and the grip everywhere else. grip or trigger can be used to force a specific climbing button. |
indexGripGrabsLedges |
true |
On the trigger scheme, the grip still grabs handholds |
menuHoldSeconds |
0.5 |
How long to hold left X to open the pause menu |
gestureJumpEnabled |
true |
Enable gesture-based jump |
gestureSprintEnabled |
true |
Enable gesture-based sprint |
handSwapGestureEnabled |
true |
Enable item swap gesture (note: there is no equivalent button to do this) |
physicalCrouchEnabled |
true |
Enable physical crouch |
dynoEnabled |
true |
Enable dyno / jump-from-wall gesture |
throwGestureEnabled |
true |
Enable throw gesture |
physicalCrouchDepth |
0.25 |
How far you must physically crouch to enter the crouched state |
Future Improvements
- Physical item interactions are not yet implemented. I initially planned to do this, but there were a few major technical hurdles involved. So I decided to ship the mod without this to start with.
- Held items are 2D sprites. This is one of the limitations which caused me to hold off on physical items. While every item has a 3D model, those models are not animated the way the 2D sprites are.
- The VR mod renders in multi-pass rendering mode, because the game's custom shaders aren't compiled for single-pass rendering. This means that the mod can be performance intensive, which can be mitigated with the
renderScalesetting in the VR settings menu.
License
White Knuckle VR Mod is released under the MIT License. The full text is in WhiteKnuckleVR/LICENSE in the release. It is provided "as is", without warranty of any kind.
The source code is in a separate, private repository. I hope to share it in the future, but I'm keeping it private for now.
Copyright (C) 2026 Kyanite-Rock
This archive also includes OpenXR runtime files from The Khronos Group and Unity Technologies. They are not part of this mod and are not covered by its licence. See WhiteKnuckleVR/THIRD-PARTY-NOTICES.md.
White Knuckle is the property of its developers and publisher. This mod is an unofficial, unaffiliated fan project and redistributes none of the game's files.
AI assistance was used in the development of this mod.