Vive Input Utility v1.11.0 Unity XR Update
Changes for v1.11.0:
-
New Features
- Add compatibility with Unity 2020.1
- Add support for Unity XR Platform (OpenVR, Oculus, and Windows MR)
- VIU Settings automatically installs proper XR Loader from PackageManager for supported devices
- OpenVR XR Plugin
- Oculus XR Plugin
- Windows XR Plugin
- VIU Settings automatically installs proper XR Loader from PackageManager for supported devices
- Add support for Oculus controller render model (Requires Oculus SDK)
- Add new ControllerButton.DPadCenter & ControllerButton.DPadCenterTouch
- Also change VIUSettings.virtualDPadDeadZone default value from 0.15 to 0.25
- This settings is not available in VIU Settings UI yet, but can be manually modified in HTC.UnityPlugin/ViveInputUtility/Resources/VIUSettings.asset
-
Changes
- Now use relative path when choosing Oculus Android AndroidManifest.xml file with picker (#175)
- Update ControllerManagerSample
- Fix support for StickyGrabbables
- Clean up side cases where updateactivity was needed
- Add more button options for laser pointer
- Fix typo
- Slightly change ColliderEventCaster's behaviour
- Now IColliderEventPressUpHandler will be treggered only if IColliderEventPressDownHandler also implemented
- This is for aligning IPointerUpHandler and IPointerDownHandler behaviour
- Improve Grabbable
- Now BasicGrabbable & StickyGrabbable able to accept more then one grab button
- Add new property primaryGrabButton so it can be specified with VIU ControllerButton
- Obsolete property grabButton and add new property secondaryGrabButton as a substitute
- Note that you must setup ViveColliderEventCaster properly to send the specified grab button event
- Now BasicGrabbable & StickyGrabbable able to accept more then one grab button
- Improve Teleportable
- Now Teleportable able to accept more then one teleport button
- Add new property PrimaryTeleportButton so it can specify with VIU ControllerButton
- Obsolete property teleportButton and add new property SecondaryTeleportButton as a substitute
- Note that you must setup ViveRaycaster properly to send the specified teleport button event
- Add new property TriggeredType
- ButtonUp : perform teleport on button press up (default)
- ButtonDown : perform teleport on button press down
- ButtonClick : perform teleport on button press up only if pointed object when press down/up are the same
- Add new property RotateToHitObjectFront
- When set to true, teleportation will rotate pivot front to hit object front
- Add new property TeleportToHitObjectPivot
- When set to true, teleportation will move pivot to hit object pivot instead of the hit point
- Add new property UseSteamVRFade
- Only works when SteamVR Plugin is installed
- When set to false or SteamVR Plugin is not installed, the teleportation will delay for half of fadeDuration without fading effect
- This provides an option for developer to implement their custom fading effect in the OnBeforeTeleport event
- Add event OnBeforeTeleport(Teleportable src, RaycastResult hitResult, float delay)
- Emit before fade duration start counting down
- Usually delay argument is half of fade duration (0 if fadeDuration is ignored)
- Possible usage is to start custom fading effect in this callback
- Add event OnAfterTeleport(Teleportable src, RaycastResult hitResult, float delay)
- Emit after teleportation is performed
- Add static event OnBeforeAnyTeleport(Teleportable src, RaycastResult hitResult, float delay)
- Static version of OnBeforeTeleport
- Emit before OnBeforeTeleport
- Add static event OnAfterAnyTeleport(Teleportable src, RaycastResult hitResult, float delay)
- Static version of OnAfterTeleport
- Emit before OnAfterTeleport
- Add property AdditionalTeleportRotation
- The rotation value will be multiplied on the target (around pivot) when teleporting
- Possible usage is to set the value (according to other input like pad or joystick direction) in the OnBeforeTeleport callback
- Add method AbortTeleport()
- Cancel the teleportation during fading
- Possible usage is to abort in the OnBeforeTeleport callback to perform a custom teleportation
- Another usage is to interrupt the fade-in effect progress so that the Teleportable able to trigger next teleport event immediatly
- Add new property PrimaryTeleportButton so it can specify with VIU ControllerButton
- Now Teleportable able to accept more then one teleport button
-
Bug Fixes
- Fix left Cosmos controller did not bind button X and Y
- Fix saving of Oculus Android XML path setting (#175)
- Fix applying some recommended settings didn't trigger editor to compile
- Fix "recommended settings" button in VIU Settings disappeared after exiting editor play mode