Skip to content

SteamVR Unity Plugin v2.0.1

Compare
Choose a tag to compare
@zite zite released this 26 Sep 22:11
· 70 commits to master since this release

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