VR Physics Player Controller

HexaBody VR is a Physics Driven Rigidbody Controller featuring responsive locomotion, jumping, standing, and crouching. The body design allows for realistic player movement, feet and legs lift and stomp during the jump cycle making it easy to jump, land, and then stand up on objects and your environment.


This asset is built to work with the HurricaneVR Interaction Framework. It can still be used stand alone if you familiar with Unity programming.


Discounted HurricaneVR Bundle

Discord

Try the Demo!


Locomotion Features


-Smooth and Snap Turning.

-Walk, Run, Jump, Crouch, And Stand.

-Slope Angle Max Speed and Friction Curves.

-Easily control move speed based on crouch amount.

-Jump height controlled by Crouch Height based Animation Curve.

-Jump cycle feet lift and stomping controlled by animation curves.

-Configurable air acceleration

-Physics based climbing

-Stand on moving platforms using physics and friction

-Configurable horizontal jump velocity bonus based on crouch amount.



Player


-Define player height and leg height percentage

-Sit / Standing mode with automatic height calibration

-Standing calibration scales the camera based on variance between user vs player height

-Adjustable curve for pelvis -z offset based on crouch height

-Head Collision

-Configurable Min / Max camera height

-Hand stuck detection and resolving



Compatibility

Input and Interaction Framework agnostic, requires one input wrapper script to drive the player controller with the inputs of your choosing. A SteamVR and XRInputs controller wrapper example is provided to get you started.


Integrations

HurricaneVR Physics Interactions

Portals for VR has integrations with Hurricane and HexaBodyVR.

Release Notes

Version 1.44b - Fixed compile errors in Unity 6.3

Version 1.44a - Update for VR Portals Integration

Version 1.44


Fixed movement direction not being normalized


Version 1.43


Fixed missing pelvis collider physic material

Fixed hand drift bug

Fixed hand from offsetting if rig was disabled then re-enabled


Version 1.42


Fix CollisionDetector using deltaTime instead of fixedDeltatime


Version 1.41


Fixed MoveToPosition not working correctly

Added Reset player position example for falling through the world with HexaResetZone



Version 1.4


Physics hands updated with optional hand stuck detection.

Reworked the logic that checks if additional air crouching is allowed.

Fixed an issue with grounded angle check that feeds in the slope angle friction curve.

Pelvis collider will now try to remain above the locoball collider to prevent getting stuck.


HurricaneVR users will need to update to 2.5.1 and re-extract the integration there.


Version 1.3.3.1


Fixed line that required the hands to be used with v4. Take note all prior versions of the player rig are deprecated and will not recent any future updates.


V4 Rig will be receiving all updates for the time being.


Version 1.3.3


Completely re-worked the V4 jump system, jumps should now hit the desired jump height most of the time. Default jump curve has been adjusted lower for tap jumps to adjust for this.

Fixed hand physics tracking when the player is moving in real life.

Improved hand physics tracking when smooth and snap turning.



Version 1.3.2


HexaV4:

Tweaked behaviour to auto stand speed when walking / running and not actively crouching. Auto stand will now occur

based on the amount of input movement detected.

Crouch limits renamed to "RunningCrouchLevel" and "WalkingCrouchLevel" and changed to be % of leg.

Added GroundedRadius field to control the sphere cast size that detects whether the player is grounded or not.

The default size is reduced to .05f from the full size of the ball to detect only grounded from the bottom of the ball

is close to the surface. This will help with the new Air Max Crouch lift that is only available when not grounded.



Version 1.3.1


Fixed an issue where calibrating without the HMD on would lead to a divide by 0 error.

Added additional checks to determine when the ungrounded max crouch level is allowed.


Version 1.3


V4 Iteration of the HexaBody is now complete. Featuring improvements to locomotion, standing, crouching, and jumping.


Some notable improvements with the new player:

-Increased anti roll resistance, helping unwanted movement especially on slopes.

-Reworked jump height system using kinematics to solve crouch -> jump height

-Optional jump horizontal velocity bonus based on crouch amount.

-Slope angle friction curves applied to the locomotion ball.

-HMD Detection to keep the player in it's placed position.

-Retract / Stomp curves to control ball lift during the jump cycle.

-Customizable crouch offset levels

-Smooth acceleration with direction acceleration curves to control changing of direction responsiveness.

-Vaulting is now easier with customizable max crouch height while not grounded (lift the ball even higher).

-Fine control of movement / crouching / standing based on amount the joystick is moved.

-Optional height calibration saving to player prefs to assist in debugging cycles.


Version 1.25

Set maxAngularVelocity to 100f by default on the LocoBall so that the global physics settings don't need to be adjusted to get started.


Version 1.24

Added SlipperMaterial field and EnableSlippery() / DisableSlipperyMethods()

When enabled the slippery material will be applied to the locoball, and reset to previous values when disabled.


Version 1.23

Flattened Camera X rotation before rotating torso in FaceDirection method

Capped locoball angular velocity when not grounded


Version 1.22


Added CalibrateHeightOnStart option and set to default to false.



Version 1.21

Fixes:

The FenderSphere mesh object used for visualizing the body had it's sphere collider left on by accident. The player v3 prefab

has been updated with it removed, if you unpacked your prefab make sure to remove it as it would affect friction when up against something.


Version 1.2


Fixes:

Changed the steamvr bindings manifest key to prevent conflicts with the one from hurricanevr


Added MoveToPosition which takes the position that the bottom of the locosphere will land and moves all of the

necessary rigidbodies maintaining their offset from the locoball


Added FaceDirection which takes a vector and rotates the torso so that the camera faces this direction


HexaBodyPlayer3:

Add LeftShoulder and RightShoulder transform fields

Add LeftHandRigidbody and RightHandRigidbody fields

Added DefaultArmLength field and SetArmLength method that will create joint limits from the shoulder to the hand

MaxDistance on HexaHands should be updated when calibrating arm length on the hexabody

v3 prefabs updated with new required fields


HexaHands:

Add Shoulder transform, if provided will be the anchor for limiting the hand distance by "MaxDistance"


Added steamvr readme for setup



Version 1.1


Added SteamVR bindings integration package and updated the input collector to use SteamVR Inputs

Install SteamVR from the asset store, unload the package, and Save And Generate the action classes when prompted

Add HEXA_STEAMVR scripting define symbol to make use of the bindings

Basic Information
Latest Version
1.44b (08 Dec 2025)
Publisher
Cloudwalkin Games
Category
Tools/Physics
Size
1.5 MB
Price
€55.19
Asset Rating
(38)
Extended Information
Unity Versions
2019.4.1
Render Pipelines
BIRP URP HDRP
State
Published