Testing Without a Headset - POINT-VR/POINT-VR-Chapter-1 GitHub Wiki

This will be a guide on how you can test any new features on your local set-up without a VR headset.

Note: It is still important to test these features on a headset before merging to develop. This guide is primarily meant for preliminary testing before pushing your commit.

tl;dr: Create a temporary new Control Scheme under Input Actions to map certain keys to corresponding inputs on the Oculus controller

Input System Set-Up

  1. Navigate to Assets -> POINT -> InputAssets and double-click Controls.inputactions.
  1. At the top left corner of the Input Actions window, select All Control Schemes, then select Add Control Scheme...
  1. Name the new Control Scheme Keyboard, and add the Keyboard controller to the list of devices. If you plan on using a game controller for testing, a similar procedure should apply (though it has not been tested).
  1. For all actions (except Position and Rotation), create new key bindings.

If the control type is Vector2, select Add 2D Vector Composite, then follow the below steps for assigning keys to button inputs (for Vector2, treat "Up", "Down", "Left", "Right" as buttons).

If the control type is Button, select Add Binding, then select the corresponding key to the Path.

  1. Once all bindings have been added, select Save Asset on the top bar.

Testing

Now, you can enter Play Mode in the Unity Editor. Several tips:

  • You can set up "split screen" between Scene and Game so you can move the Player and hand controllers around for local testing.
  • In Play Mode (so that changes are not permanent), you have to disable the Hand Controller script component in the PlayerBase -> Player (Clone) -> LeftHand -> Hand_L and PlayerBase -> Player (Clone) -> RightHand -> Hand_R GameObjects before you can move them around (as you would do in Scene View) to simulate hand movement.

Cleaning Up

Remember to discard all your changes to the Input System (they should show up as POINT-VR-Chapter-1\Assets\POINT\InputAssets\Controls.inputactions in GitHub Desktop) before committing your changes; remember that these changes were temporary and for local testing only!