SteamVR Unity Plugin v2.0.1
This is a significant change from prior versions of the SteamVR Plugin. If you are upgrading from 1.x this will break your project and things will need to be rewritten. Please read the included SteamVR Unity Plugin.pdf and check out this blog post: https://steamcommunity.com/sharedfiles/filedetails/?id=1416820276
Changes for v2.0.1:
Changed SteamVR to identify only when in editor. SteamVR_Setting.appKey has been replaced with SteamVR_Setting.editorAppKey. This means that downloads from steam will always use proper bindings but builds run separate from Steam will have their own autogenerated app key. Remember to replace your default bindings in the binding ui before creating a build.
Fixed bug where hands were not reactivating properly after visiting the dashboard (#118)
Fixed bug with multiple items being grabbed at once (#121)
Fixed bug where Linear Drive would freeze when grabbed twice (#120)
Fixed bug with bindings that were readonly not copying correctly.
Fixed some other bugs with multiple pickup types being activated at once.
Changes for v2.0:
Updated to SteamVR runtime v1537309452 and SDK version 1.0.16.
Removed support for older versions of Unity (v5.4 or newer required). Previous versions of the plugin can be found here: https://github.com/ValveSoftware/steamvr_unity_plugin/
Changes for v2.0rc4:
Support for Windows MR (no Skeletal input at this time - driver needs to be updated)
Added SteamVR_ActionIn.onActiveChange event (most actions inherit from this class)
Added Interactable.activateActionSetOnAttach to activate action sets when you grab an item and deactivate them when they're detached
Fixed an issue in the SteamVR Input Live View that made it unreadable
Fixed an issue that lead to duplicate SteamVR_Render components in some circumstances
Removed Debug UI from release builds using the Interaction System
Added ModalThrowable. Allowing different snap locations for grip and pinch pickups
Added grenade as an example of the ModalThrowable
Added a squishable object for a knuckles force example
Fixed an order of operations error where the interactable detach event was being called after the attach event when an item changed hands
Fixed an issue with pickup points being in odd places
Forcing hover unlock on interactable destruction
Added support for Unity 2018.3
Fixed an issue with delayed init
Changes for v2.0rc3:
Added some pdf documentation for the new plugin and input system
Added code documentation to most public functions in the input system
Removed SteamVR_Camera from prefabs as this is no longer necessary
Added simple rc car example ported from Knuckles Tech Demo
Added simple platformer example
Switched hover highlights to highlight the object being interacted with instead of the controller. Can be reenabled in the player prefab.
Fixed some upgrading issues for Unity 2018
Added glcore to a few of the shaders to make them opengl compatible
Fixed a code generation issue that was generating static members instead of instance members, making actions inside sets unavailable.
Added scrollview to LiveWindow
Fixed some issues with action sets
Added DefaultActionSet attribute to specify a default action set to be assigned to fields/properties on input generation
Updated some scriptable object fields to not serialize things unintentionally
Made initialization a little more streamlined.
Added an event you can subscribe to for when initialization is completed (SteamVR_Events.Initialized(bool)). The bool indicates success
Improved editor UI for action / action set assignment
Made the example button do something on press
Changes for v2.0rc2:
Added built in support for delayed loading of SteamVR. You can now call SteamVR.Initialize() and pass a boolean to force set unity to OpenVR mode.
Added a new Simple Sample scene in the root to do super basic testing.
Moved SteamVR Input updating to SteamVR_Behaviour which also handles the SteamVR_Render component. This will be added to scenes at runtime.
Added ability to explicitly show or hide controller model in the interaction system
Gave the interaction system scene a new paint job
Auto scaling the teleporter beam to the player size
Added a new quickstart pdf
Fixed issue for Unity 5.6 not showing controllers
Fixed issue for 2018.2 not opening the input window properly
Minor performance increases
Updated initialization process to support having XR set to none or Oculus initially.
Moved some of example jsons files into a more reasonable directory.
Changes for v2.0rc1:
Namespacing all SteamVR scripts. This will be a breaking change for most projects but this is a major revision.
Renamed most of the input classes to have a more reasonable length. Generally removed Input as it's redundant in most places
Fixed some issues with newer versions of Unity throwing errors during action generation
Fixed some issues with scenes not opening properly during generation on newer versions of Unity
Removing SteamVR_Settings from plugin, it should be auto generated so new versions of the plugin don't overwrite it
Fixed some performance issues surrounding using the legacy input system at the same time as the new input system. This is not a supported scenario.
Minor performance increases around render model loading.
Removed some legacy system scripts
Fixed the button hint system
Consolidated the skeleton options
Changes for v1.3b10:
Fixed a couple issues that would cause tracking jitter or entire loss of input
Fixed an issue with destroying held objects
Changes for v1.3b09:
Newly created action sets default to "single" mode allowing action mirroring in the binding UI.
Added an example of blending unity animations with the skeleton input system. The sphere on the Equippable table can be grabbed and the hand will blend to an animation.
Interactables now hand a hideHandOnAttach bool, a handAnimationOnPickup int that triggers an Animator.SetInt, and setRangeOfMotionOnPickup which will temporarily set the range of motion while an object is attached.
Added a tool example for "With Controller" hand animation examples. Equippables can also be flipped depending on the hand that picks them up.
Interactables now can tell hands to snap to them on attach. Specify a transform to snap to in Interactable.handFollowTransform and then check handFollowTransformPosition and/or handFollowTransformRotation
Added Range of Motion blending to skeleton - Hand.SetSkeletonRangeOfMotion(rangeOfMotion, blendTime)
Updated skeleton system to account for coordinate system changes
Fixed some perf issues with the old render models (WIP)
Fixed some bugs with button hints (WIP)
Interactables should now auto detach on destroy.
Added slim glove models, an example of an alien hand with 3 fingers, and an alien hand with floppy fingers
Hands now initialize a RenderModel object which can contain a hand and a controller. These can be toggled on and off separately
Fixed issue with controller highlighters not initializing correctly
Added the ability to attach an object to a specific offset from the Hand - Hand.ObjectAttachmentPoint
Fixed issue where render model would not show after bringing up compositor
Fixed issue with default Throwables. HoverButton now works in local space
Fixed issue with velocities and angular velocities not transforming properly
Changes for v1.3b08:
SteamVR_Input_References has been moved to the generated folder so new plugin updates don't wipe yours. Prior beta users: Please delete your existing one in Assets/SteamVR/Resources/SteamVR_Input_References.asset
SteamVR_Input is no longer a MonoBehaviour. This fixes scene transition issues as well as event subscription issues.
The Live Action View has been moved to its own window under the Window menu.
Some excess configuration options were removed from the settings window, some were moved into SteamVR_Settings if still needed.
Added a Hover Button that depresses when the controller gets close to it.
Fixed an issue where default throwables would "auto catch" objects
Changes for v1.3b07:
Fixed issue with upgrading from the legacy system
Fixed some line endings
Fixed generation bug where it wouldn't reopen to the scene you started on
Auto replacing app key in binding files
Updating actions and bindings to have one pose and one haptic action
Gave each app its own app id via a vrmanifest that is generated on import. Can be modified in SteamVR_Settings for release.
Fixed haptic actions not displaying in play mode
Temporary fix for skeletons erroring while the dashboard is up
Changes for v1.3b06:
Added some flower and planting stuff for the tutorial
Updating knuckles actions and binding jsons
Added code solution for blending skeleton animations to mechanim, no example yet though
Updated some helper components to utilize Unity Events properly
Updated skeleton hierarchy
Changes for v1.3b05:
Added a knuckles binding for the Grab mode
Fixed some bugs around skeleton updates and GC alloc
Fixed a pretty significant perf hit
Added a blending option to skeletons
Added some ui to try out skeleton options
Added a target for the throwing examples
Updated longbow to only fire arrows with the pinch action
Updated other interactable examples
Added some helper methods to hand around showing / hiding controller or the whole hand.
Fixed some of the throwing examples
Changes for v1.3b04:
Added some more extensive velocity and angular velocity estimation based on positions and rotations per frame. Normalizing for time between frames.
Cleaned out and updated the actions + bindings for knuckles/wands/touch.
Fixed a bug with newly created actions not having a set type
Updated extra scenes to use the new input system
Changes for v1.3b03:
Fixed some warnings for unity 2017 / 2018.
Fixed some editor UI issues for 2018
Fixed issues with Unity 2017+ not wanting to open scenes from a script reloaded callback
Changes for v1.3b02:
Added DefaultInputAction attribute to automatically assign actions during action generation.
Updated default CameraRig prefab to use the new input system and components
Changes for v1.3b01:
Integrated SteamVR Input System.
https://steamcommunity.com/games/250820/announcements/detail/3809361199426010680
[InteractionSystem] Added basic examples of the Skeletal API
[InteractionSystem] Integrated SteamVR Input System. Actions and Action Sets instead of buttons.
[InteractionSystem] Added Velocity style object interaction
[InteractionSystem] Fixed some issues from github. Took some pull requests.
#79
#73
#72
#71
#67
#64
#84
#78