SteamVR plugin for Unity - v1.2.2
Copyright (c) Valve Corporation, All rights reserved.
Quickstart:
To use, simply add the SteamVR_Camera script to your Camera object(s). Everything else gets set up at
runtime. See the included quickstart guide for more details.
Requirements:
The SteamVR runtime must be installed. This can be found in Steam under Tools.
Changes for v1.2.2:
* Updated to SteamVR runtime v1497390325 and SDK version 1.0.8.
* [General] Switched caching SteamVR_Events.Actions from Awake to constructors to fix hot-loading of scripts in the Editor.
* [General] Switched remaining coroutines away from using strings (to avoid issues with obfuscators).
* [General] Switched from using deprecated Transform.FindChild to Transform.Find.
* [General] Added #if !UNITY_METRO where required to allow compiling for UWP.
* [UpdatePoses] Switched to using static delegates (Camera.onPreCull or Application.onBeforeRender depending on version) for updating poses.
* [UpdatePoses] Deprecated SteamVR_UpdatePoses component.
* [MixedReality] Added rgba settings to externalcamera.cfg for overriding foreground chroma key (default 0,0,0,0).
* [MixedReality] Exposed SteamVR_ExternalCamera.Config settings in Unity Editor inspector for easy tweaking.
* [MixedReality] Added file watcher to externalcamera.cfg to allow real-time editing.
* [MixedReality] Fixed antialiasing complaint in Unity 5.6+.
* [MixedReality] Added second pass to foreground camera when using PostProcessingBehaviour since those fx screw up the alpha channel.
* [ControllerManager] Added code to protect against double-hiding of controllers.
* [InteractionSystem] Sub-objects now inherit layer and tag of spawning object (ControllerButtonHints, ControllerHoverHighlight, Hand, SpawnRenderModel).
Changes for v1.2.1:
* Updated to SteamVR runtime v1485823399 and SDK version 1.0.6.
* Switched SteamVR_Events.SystemAction from using strings to specify event type over to their associated enum values.
* Fixed an issue with using WWW in static constructors.
* Added Unity Preferences for SteamVR to allow disabling automatic enabling of native OpenVR support in Unity 5.4 or newer.
https://github.com/ValveSoftware/steamvr_unity_plugin/issues/8
https://github.com/ValveSoftware/steamvr_unity_plugin/pull/9
* Added UNITY_SHADER_NO_UPGRADE to all shaders to avoid log spam in later versions of Unity for issues that have already been fixed but the compiler isn't able to detect.
* Specified Vulkan support for Interaction System shaders.
* Fix for crash in Interaction_Example selecting BowPickup:
https://github.com/ValveSoftware/steamvr_unity_plugin/issues/4
* Cleaned up unused fields:
https://github.com/ValveSoftware/steamvr_unity_plugin/issues/2
* Updated Interaction System's LinearDrive to initialize using linearMapping.value.
https://github.com/ValveSoftware/steamvr_unity_plugin/pull/5
* Updated Interaction System documetation to fix a few errors.
* Added an icon for all Interaction System scripts.
* Fixes for SteamVR on Linux.
Changes for v1.2.0:
* Updated to SteamVR runtime v1481926580 and SDK version 1.0.5.
* Replaced SteamVR_Utils.Event with SteamVR_Events.<EventName> to avoid runtime memory allocation associated with use of params object[] args.
* Added SteamVR_Events.<EventName>Action to make it easy to wrap callbacks to avoid memory allocation when components are frequently enabled/disabled at runtime.
* Fixed other miscellaneous runtime memory allocation in SteamVR_Render and SteamVR_RenderModels. (Suggestions by unity3d user @8bitgoose.)
* Integrated fix for SteamVR_LaserPointer direction (from github user @fredsa).
* Integrated fixes and comments for SteamVR_Teleporter (from github user @natewinck).
* Removed SteamVR_Status and SteamVR_StatusText as they were using SteamVR_Utils.Event with generic strings which is no longer allowed.
* Added SteamVR_Controller.assignAllBeforeIdentified (to allow controller to be assigned before identified as left vs right). Suggested by github user @chrwoizi.
* Added SteamVR_Controller.UpdateTargets public interface. This allows spawning the component at runtime. Suggested by github user @demonixis.
* Fixed bug with SteamVR_TrackedObject when specifying origin. Suggested by github user @fredsa.
* Fixed issue with head camera reference in SteamVR_Camera. Suggested by github user @pedrofe.
Known issues:
* The current beta version of Unity 5.6 breaks the normal operation of the SteamVR_UpdatePoses component (required for tracked controllers).
To work around this in the meantime, you will need to manually add the SteamVR_UpdatePoses component to your main camera.
Changes for v1.1.1:
* Updated to SteamVR runtime v1467410709 and SDK version 1.0.2.
* Updated Copyright notice.
* Added SteamVR_TrackedCamera for accessing tracked camera video stream and poses.
* Added SteamVR_TestTrackedCamera scene and associated script to demonstrate how to use SteamVR_TrackedCamera.
* Fix for SteamVR_Fade shader to account for changes in Unity 5.4.
* SteamVR_GameView will now use the compositor's mirror texture to render the companion window (pre-Unity 5.4 only).
* Renamed SteamVR_LoadLevel 'externalApp' to 'internalProcess' to reflect actual functionality.
* Fixed issue with SteamVR_PlayArea material loading due to changes in Unity 5.4.
* Added Screenshot support handling for stereo panoramas generation.
* Removed code that was setting Time.maximumDeltaTime as this was causing issues.
Changes for v1.1.0:
* Fix for error building standalone in SteamVR_LoadLevel.
* Set SteamVR_TrackedObject.isValid to false when disabled.
Changes for v1.0.9:
* Updated to SteamVR runtime v1461626459 and SDK version 0.9.20.
* Updated workshop texture used in sea of cubes example level to use web page from SteamVR (was previously from Portal).
* Updated various SDK changes to Unity in 5.4 betas.
* Added controllerModeState to RenderModel component to control additional features like scrollwheel visibility.
* RenderModels now respond to model skin changes.
* Removed OnGUI and associated help text (i.e. "You may now put on your headset." notification) as this was causing unnecessary overhead.
* Fix to SteamVR_Render not turning back on if all cameras were disabled and then re-enabled.
* Hooked up SteamVR_Render.pauseRendering in Unity 5.4 native OpenVR integration.
* Fix for input_focus event sometimes getting sent inappropriately.
* Fix for timeScale handling.
* Fix for SteamVR_PlayArea not finding its material in editor in Unity 5.4 due to changes in how Unity handles asset loading.
* Miscellaneous fixes to reduce hitching when using SteamVR_LoadLevel to handle scene transitions.
* Hooked up SteamVR_Camera.sceneResolutionScale to Unity 5.4's native vr integration render target scaling.
* Forced SteamVR initialization check in SteamVR_Camera.enable (and bail upon failure) in Unity 5.4 (was already doing this in older builds).
* Better handling of SteamVR_Ears component with old content.
* Keep legacy head object around in case external components were referencing it (was previously getting deleted in Unity 5.4 as the head motion is now applied to the "eyes" object).
* Miscellaneous fixes for SteamVR_TrackedController and SteamVR_Teleporter.
* Fixed up Extra scenes SteamVR_TestThrow and SteamVR_TestIK.
* Added stereo panorama screenshot support to SteamVR_Skybox.
* Removed use of deprecated UnityEditorInternal.VR.VREditor.InitializeVRPlayerSettingsForBuildTarget(BuildTargetGroup.Standalone);
Changes for v1.0.8:
* Updated to SteamVR runtime v1457155403.
* Updated to work with native OpenVR integration introduced in Unity 5.4. In this and newer versions, openvr_api.dll will be automatically deleted when launching since it ships as part of Unity now.