WanderFlow

Turn every SteamVR game into a personal gym

A customizable SteamVR plugin that maps your in-place head/hand/foot movements to virtual locomotion. Intuitively and seamlessly.

📦 Installation

[Strongly recommended]
Please visit the WanderFlow Steam Store page and click the tutorial video among the trailers for step-by-step first time setup instructions.

Quick setup guide

  1. Start SteamVR
  2. Start WanderFlow
  3. If prompted, click "Install driver" — or click the red warning text on the top to install the driver
  4. Restart SteamVR for the installation to take effect
  5. SteamVR settings → Controller → Manage controller bindings → Choose another
  6. Find your SteamVR game and open its controller bindings dialog
  7. Switch current controller to "wanderflow"
  8. Check "Return bindings with left/right hand" in Extra Settings tab
  9. Find the tab containing movement actions and bind wanderflow joystick to the movement action in the SteamVR game
  10. Start WanderFlow and your the SteamVR game
  11. Start moving in VR!

🎛️ Driver action binding

⚠️ Required step

This step is required for WanderFlow to take effect in most SteamVR apps.

Navigate to: SteamVR settings → Controller → Manage controller bindings → Choose another

Select your current SteamVR app and WanderFlow virtual controller. These bindings describe how WanderFlow output is used in your SteamVR app.

🎛️ Client action binding

Navigate to: SteamVR settings → Controller → Manage controller bindings → Choose another

Select WanderFlow Client as the app and select your current (hand) controllers. These bindings describe how your physical controllers interact with WanderFlow.

🎯 Calibration

How to calibrate

T-pose when looking straight forward and press the calibration button (default: trigger) on both controllers. If the calibration action is not bound, you can calibrate by T-posing for 0.5 seconds without pressing any button.

⚠️ Important: Calibration is required before you can use any foot-based locomotion feature. It also improves the detection and accuracy of hand-based locomotion.

🙌 Hand-Based locomotion

🏃 Arm swing

Set Hand locomotion to Simple back-and-forth swing in the control panel to use this feature. Lean forward slightly, put one hand in front and one hand behind, and swing your arms back and forth to start moving. Keep palms vertical and swing fast to start running. Slow down or have palms face downward to stop running.

Wear wrist weights to intensify your workout! (⚠️ Consult your doctor first, start light, and stop if you experience any discomfort)

⚙️ Sagittal hand wheel

Set Hand locomotion to Move hands in sagittal wheel motion in the control panel to use this feature. Move your hands in a circular motion as if attached to wheels on your sides. You can move the wheel in either direction corresponding to forward and backward walking. Keep palms vertical and move hands fast to start running. Slow down or have palms face downward to stop running.

🦅 Simple flap

Set Flap to Simple flap in the control panel to use this feature. Extend your arms to your left and right, then start flapping up and down fast.

Wear wrist weights when playing to rip those delts! (⚠️ Consult your doctor first, start light, and stop if you experience any discomfort)

🐓 Realistic flap

Set Flap to Emulate realistic insect/bird wing angle in the control panel to use this feature. Extend arms to your left and right, start flapping up and down. The radial front of your palm needs to tilt down in a down stroke and tilt up in an up stroke to provide propulsion—mimicking real bird wing mechanics.

🏊 Swimming

Extend both arms forward with backs of hands facing each other (hence palms are facing away from each other). Move hands away from each other to propel. Keep using frog style, or switch to freestyle swimming motion to trigger "running" mode.

👣 Foot-Based locomotion

🚶 Walk-in-place

After calibration, lean forward slightly and move your feet up and down. Small hops with both feet can activate running mode. Lean back to start walking backward. Note that this feature can even be used if your foot trackers and HMD do not share tracking coordinates (e.g., if you are using an Oculus headset with Vive trackers) with only slightly reduced accuracy.

🛼 Roller skate

Requires calibration and a unified coordinate system for the HMD and foot trackers. Slide one foot on the floor to move in the opposite direction. Alternate feet like roller skating for smooth movement.

💡 Config settings

Jump threshold

This controls how fast you need to move your head upward to register as a jump. A lower value makes jumping easier to trigger (more sensitive), while a higher value requires more forceful head movement. Adjust this based on your play style—if you're getting accidental jumps during normal movement, increase the threshold. If jumping feels unresponsive, decrease it.

Max acceleration

This determines how quickly your virtual movement responds to your physical actions. Lower values create smoother, more gradual acceleration and deceleration. Higher values provide instant response to your movements, feeling more direct but potentially more jarring and more sensitive to signal noise.

Max walk output

This sets the maximum virtual joystick/touchpad input value when walking (not running). A value of 1.0 means full stick deflection, while lower values cap your maximum walking speed. Use this to fine-tune how fast "walking" feels in games—some games have very fast default walk speeds that might feel like running.

Walk output multiplier

This is a multiplier for how far you move in-game compared to your real-life movement when walking (not running). Higher values amplify your in-game movement while lower values reduce it.

Run threshold

This is the speed threshold that determines when the system switches from walking to running mode when using arm-based locomotion. When your physical movement speed exceeds this value, the run output multiplier kicks in instead of the walk output multiplier and the run button on the virtual WanderFlow controller is pressed. Set it lower if you want running to trigger easily with moderate movement, or higher if you only want vigorous movement to count as running.

Min hand distance for walk

This is the minimum forward/backward separation distance (not counting side-to-side or up-down separation) between your hands required to activate arm swing locomotion. This prevents accidental activation when your hands are close together. A higher value means you need more exaggerated arm swinging with one hand clearly ahead of the other to initiate locomotion. This distance is required to initiate arm-swing locomotion but is not required to keep it going—unless you stop moving your arms for a brief amount of time.

Hand locomotion / Swim / Flap

Enables and chooses hand-based locomotion mode—see Hand-based locomotion section for details.

Walk-in-place min height

When using foot trackers, this sets how high you need to lift your feet off the ground to initiate locomotion. Lower values make it easier to activate (useful for subtle marching), while higher values require more pronounced stepping (reduces false triggers). This height is required to initiate walk-in-place locomotion but not required to keep it going—unless you set both feet down and stop moving them for a brief amount of time. Note that setting it to zero completely disables walk-in-place.

Leaning detection

When enabled, the system detects when you physically lean your body forward or backward and uses this to determine walk-in-place and arm-swing movement direction. Leaning forward makes you walk/run forward, while leaning backward makes you move in reverse.

Roller skate

Enables roller skate locomotion—see Foot-based locomotion section for details.

Head tilt strafe

When enabled, tilting your head adds sideways movement to arm swing, hand wheel, and walk-in-place locomotion.

Head tilt turn

When enabled, tilting your head while strafing causes rotation. Requires /input/turnstick bound to the look/yaw/rotation action in your SteamVR app