Unity Sample Code
UnityXR Disable VR
UnityEngine.XR.XRSettings.enabled = false;
UnityXR Set Tracking Space Type
UnityEngine.XR.XRDevice.SetTrackingSpaceType(TrackingSpaceType.RoomScale);
//UnityEngine.XR.XRDevice.SetTrackingSpaceType(TrackingSpaceType.Stationary);
UnityXR Dropped Frame Count
int droppedFrameCount;
UnityEngine.XR.XRStats.TryGetDroppedFrameCount(out droppedFrameCount);
UnityXR GPU Time Last Frame (seconds)
float gpuTimeLastFrame;
UnityEngine.XR.XRStats.TryGetGPUTimeLastFrame(out gpuTimeLastFrame);
UnityXR Disable Tracking
//UnityEngine.XR.InputTracking.disablePositionalTracking = true;
UnityEngine.XR.XRDevice.DisableAutoXRCameraTracking(Camera.main, true);
UnityXR Get Resolution Scale
float eyeTextureResolutionScale = UnityEngine.XR.XRSettings.eyeTextureResolutionScale;
UnityXR Set Resolution Scale
UnityEngine.XR.XRSettings.eyeTextureResolutionScale = 1.0f;
SteamVR Disable VR
Valve.VR.SteamVR.enabled = false;
SteamVR Set Tracking Space Type
var compositor = Valve.VR.OpenVR.Compositor;
compositor.SetTrackingSpace(Valve.VR.ETrackingUniverseOrigin.TrackingUniverseStanding);
//compositor.SetTrackingSpace(Valve.VR.ETrackingUniverseOrigin.TrackingUniverseSeated);
SteamVR Auto Enable VR
Valve.VR.SteamVR_Settings.instance.autoEnableVR = true;
SteamVR Hide Controllers
SteamVR_Utils.Event.Send("hide_render_models", false);
SteamVR Disable Tracking
Valve.VR.SteamVR_Settings.instance.poseUpdateMode = SteamVR_UpdateModes.Nothing;
SteamVR Pause Game when Dashboard Visible
Valve.VR.SteamVR_Settings.instance.pauseGameWhenDashboardVisible = true;
SteamVR Get Resolution Scale
float sceneResolutionScale = Valve.VR.SteamVR_Camera.sceneResolutionScale;
SteamVR Set Resolution Scale
Valve.VR.SteamVR_Camera.sceneResolutionScale = 1.0f;
Haptic Pulse Vibration
Link
Detect VR HMD and controller
Link
Reset head position
Link
Detect system button press (SteamVR Overlay) and enable/disable gameobject
Link
Get VIVE controller trigger full down/click
Link
Simple Laser Pointer
Link
Move objects to hand's position
Link
Power off SteamVR device
Link
VR Player Controller
Link
Video Tutorial
Subscribe to Action (SteamVR 2.x)
public void SubscribeToPlayerAction(SteamVR_Action_Boolean action, SteamVR_Action_Boolean.ChangeHandler onAction)
{
action.AddOnChangeListener(onAction, SteamInputSource); //SteamInputSource can be Left Right or Any
}
Poll Action (SteamVR 2.x)
public bool CheckForPlayerAction(SteamVR_Action_Boolean action, ButtonAction buttonState = ButtonAction.PressDown)
{
if (buttonState == ButtonAction.PressDown) return action.GetStateDown(SteamInputSource);
if(buttonState == ButtonAction.IsPressed) return action.GetState(SteamInputSource);
return action.GetStateUp(SteamInputSource);
}
Unreal Engine Sample Code
VIVE Tracker without HMD in Unreal Engine
Link