STEAM VR SETUP
SteamVR gives developers the power to support multiple HMD’s and Motion Controllers.
VR can be a fun platform to develop for, but at the same time it comes with it’s own issues that aren’t documented or widely available.
This setup guide will address SteamVR setup for UE4 and troubleshooting some common set up problems (especially when it comes to source control).
Plugins and Sanity Checks
There are a couple of plugins you will need to have enabled. Fortunately these are built into UE4! You can find the plugin browser by clicking Edit>Plugins within the UE4 Editor.
Just enable the following plugins to get started.
- SteamVR – This is needed to use SteamVR
- Steam Controllers – This is required if you are using Valve Index and I suggest enabling it in general for multiple controller support.
- Make sure the Steam Client is always running (in background is fine, this is for development in editor as the controllers are linked to steam itself).
- Make sure SteamVR is running
Create Action and Axis Mappings
- Open Edit>Project Settings>Input and enter the desired mappings you want to use.
- Open Edit>Project Settings>Plugins>SteamVR. You will need to refresh, regenerate and reload the Action Manifest for these to be displayed in SteamVR. Whilst you’re there, add the widget to the toolbar by clicking the boolean labelled “Add SteamVR Widget to Toolbar”
- Open SteamVR (it should be open by default when you launch the engine). Go to Settings>Controllers>Bindings and set it to custom. Click on Edit Current Binding (your project might not be listed, if not then the next section will resolve that).
- Choose your UE4 project from the drop down menu and Edit Current Binding, you should see in the orange bar at the top of the screen your action inputs. Here you can assign buttons on the motion controller that will call the Action and Axis Mappings inside UE4. If you cannot see your action inputs, don’t panic, the next section will resolve that.
Help! I can't see my Action Inputs in SteamVR!
Don’t worry friend, this can happen for a few reasons.
- You’ve pulled or cloned the project from Source Control and have inherited the project creators settings
- You don’t have Steam and/or SteamVR open.
Read on and this should hopefully resolve that issue.
- Go to your project directory and right click the Config folder and goto properties. Make sure the folder is NOT Read Only. Make sure Read Only is false and then apply it to sub directories and files.
- In side the Config folder, open SteamVRsfsfse and make sure that the file points to the manifest in your project.
- The manifest can be found in Config>SteamVR settrganldga folder. Grab the path for that file. (i make sure I use forward slashes for the path instead of backslash as that seems to not work sometimes).
- Once these steps are done open the UE4 Editor and using your steamvr widget we added to the toolbar, perform a Reset, Regenerate and Reload of the action manifest (I call this “The 3 R’s”).
- Open your controller bindings in steamvr and you should see your action inputs.
My Motion Controllers Aren't Tracking
Time for a Sanity check!
- Make sure the Steam Client is running
- Make sure SteamVR is open
- Double Check that SteamVR and Steam Controllers are enabled in the Plugin Browser.
- Perform “The 3 R’s” (especially if you have edited bindings inside of UE4).