Skip to content

Version 3.0.0

Compare
Choose a tag to compare
@thestonefox thestonefox released this 07 Jan 22:37
· 1575 commits to master since this release

3.0.0

Breaking Changes

The following commits introduce changes that break functionality if upgrading from version 2.2.1

  • SDK
    • add basic support for Oculus SDK and OVRCameraRig (c0fba69)
    • remove interface and impose contract with abstract class (2b511ac)
    • add support for a wider range of controller options (b49ea92)
    • require all sdks to adhere to specific interface (3f019ad)
    • split bridge into distinct areas of responsibility (2008568)
  • PolicyList
    • add support for layers and rename script (3ac78e4)
  • Structure
    • ensure vrtk scripts are decoupled from sdk rig setup (eca0f66)
    • rename Utilities to VRTK_SharedMethods (b364b78)
    • rename Helper to Internal and move UnityEvents (62a343a)
    • arrange scripts into sub directory sections (36c599c)
  • Headset
    • remove need for scripts on headset (7a5e58a)
  • TagOrClass
    • remove tag_or_class string option (15cdf15)
  • BodyPhysics
    • add body physics script (68d6e50)
  • SharedMethods
    • move isolated methods into more specific scripts (4733898)
  • Pointer
    • rename world pointer to base pointer for consistency (15f5266)
    • separate play area cursor into own script (b487f4a)
  • Interaction
    • combine secondary grab actions into one parameter (7292462)
    • extract grab mechanics into their own scripts (f46d7b9)
    • extract controller visibility to own script (aad88c4)
    • remove global touch highlight option (f755e23)
    • extract haptics out of interactable object (36c0f9d)
    • add ability to utilise secondary controller grab (7961fbe)
    • replace isDroppable with valid drop options (0851315)
  • UICanvas
    • add ui canvas script for defining valid canvas targets (02fb992)
  • HipTracking
    • rename script to be inline with naming convention (6157846)
  • MonoBehaviour
    • rename Reset methods to not clash with Unity Reset (7cdae19)

End of breaking changes

Bug Fixes

  • Pointer
    • prevent crash when using interact with objects parameter (132bb68)
    • prevent bezier pointer clipping (1c6b243)
    • unparent simple pointer holder to fix scaling issue (7e4cd63)
    • ensure controller is valid before removing event handlers (fdd760c)
    • ensure controller set up check on base is done in start (df95931)
    • ensure object using state is set when use with pointer (ec15c18)
    • reset saved beam length if not grabbing (356b09d)
    • rescale the pointer cursor also if no collision (96912f6)
    • update custom cursor prefab (1a96d93)
    • ensure custom pointer objects retain set material (0aafda0)
    • prevent flicker on activate in different position (242ac6b)
  • Assets
    • add white background to pig outline (89ad6ca)
  • VR Simulator
  • PlayerObject
    • ensure player object check includes inactive objects (452c037)
  • ControllerActions
    • check cachedElements is set (ccd54a2)
    • remove redundant private variable (fff5ec7)
  • RoomExtender
    • ensure gizmo adheres to coding standards (b6e7b72)
  • RadialMenu
    • apply correct rotation offset to menu (f11bbc5)
    • add option to choose whether to auto generate buttons (0c3678d)
    • only change the axis if the touchpad is being touched (b155c6e)
  • SpringLever
    • rename script to conform with naming convention (58e93a8)
  • Examples
    • fix a warning on Unity 5.5 and above (5b6f950)
  • Caching
    • force fetch controller manager if current is disabled (ecc6bf2)
    • get specific ControllerManager for left/right controller (d817dc4)
    • reset controller cache when tracked device changes (c8eac61)
  • Headset
    • detect collision end on collider disable and destroy (49bc483)
  • Presence
    • adjust physics fall to correct for local rotation (69c7775)
    • prevent collisions when swapping grab hand (7034181)
    • prevent crash when ignoring inactive colliders (2b94600)
  • InteractGrab
    • scaled player throw velocity matches world size (3db4855)
  • Animation
    • remove legacy animations from animation controllers (be6b0d0)
  • UICanvas
    • calculate collider depth based on scale and pivot (05dfdb3)
    • ensure pre-existing collider/rigidbody is not deleted (49ccf27)
  • UnityEvents
    • unregister listeners in OnDisable - resolves #642 (e79f4fc)
  • Tracking
    • replace double quotes with single quotes in tooltip (2dc8d71)
  • Teleport
    • register destination markers on child components (fd9a285)
    • use the nav mesh check distance value in SamplePosition (2e4616a)
  • Highlighter
    • ensure faderRoutines is set before acting with it (910870e)
    • ensure outline highlighter uses correct transform (a383e38)
    • clean up pre-existing outline clone objects (5efa254)
  • ConsoleViewerCanvas
    • add VRTK_UICanvas to make prefab work (386025f)
  • AdaptiveQuality
    • extract SteamVR call in editor to SDK Bridge (5d227f8)
    • remove sdk error when using debug visualisation (ea76402)
    • prevent flickering on Unity 5.4.3 (1274078)
    • remove check for VR camera (7b796c7)
    • show the correct render scale level in the debug visualization when inactive (1c41cbb)
    • prevent flickering on Unity 5.4.2 (109b4f1)
    • ensure adaptive quality works on CameraRig (8d974b4)
    • only allow for Unity 5.4 and above (b483c1f)
  • FPSViewer
    • set canvas plane distance on start (9f11d0a)
  • SnapDropZone
    • ensure object position is right on moving transition (ec3e21b)
    • check parent objects for interactable object as well (4cb85af)
    • use highlight container for position (f1486af)
  • Editor
    • allow multiple object editing on interactable object (baadc90)
  • Shader
    • apply correct render order to outline shader (336cf78)
  • Simulator
    • inconsistent vector addition Fixed inconsistency in vector addition caused by adding a vector in world space (the camera forward)to a vector in local space (the camera rig's basis vectors). Doing the math in the same space gives the intended result. (5d49dfd)
  • SDK
    • prevent SteamVR SDK reporting a button two press (748902d)
    • prevent error on end scene with simulator SDK (c76fa01)
    • rename vr simulator prefab to more meaningful name (e223804)
    • add debug log error message if fallback sdk is being used (c4ff424)
    • catch errors when sdk scripting define symbol is not set (8fe0a20)
    • add debug error if simulator sdk used but prefab not found (f89c450)
    • prevent crash when requesting non-existant vive render model (c379f2b)
  • Interaction
    • ensure collision checks are done in physics loop (2c22050)
    • improve z locked rotations for 2 hand direction (130cb35)
    • use local rotation when inverting tracked snap handle (b211220)
    • use magnitude instead of distance for uniform scale (5ca58f3)
    • prevent controller becoming visible after use (7c2b04d)
    • ensure using object is reset on interact use on stop (ab26f98)
    • calculate throw velocity from centre of collision (6dbc712)
    • ensure haptics enabled on correct interaction type (ea9df0e)
    • ensure object is dropped when primary grab released (c1ef337)
    • remove redundant GetComponent/GetComponentInParent (5ddd1ef)
    • reactivate collisions when an object is ungrabbed (276b653)
    • ensure track object snap handle uses same orientation (6511eee)
    • ensure using state is set correctly after touch/grab (3dd56cb)
    • prevent button overrides being reset incorrectly (52b89dc)
    • prevent error on stop using if controller is null (21219d2)
    • use relative instead of world force when snapping (49600e1)
    • ensure highlighter exists before highlighting (4217b75)
    • objectHighlighter not initialized in ToggleHighlight (fc276f3)
    • scan also inactive objects in color highlighter (500321c)
    • ensure multi-collider objects register touch properly (8651dd9)
    • ensure trigger collision check is done every frame (4f3b68c)
  • Structure
    • remove erroneous semi colons (dbf0734)
  • Controller
    • ensure controller colliders scale (0dfaac8)
  • UIPointer
    • UI not responding after application loses focus (1a3328f)
    • ensure event input pointers list is managed correctly (23b4dbd)
    • remove UI Pointer artifacts from invalid canvas (92cafdc)
  • CONTRIBUTING
    • change 72 lines to 72 characters (8fc526b)
  • MonoBehaviour
    • rename Reset methods to not clash with Unity Reset (7cdae19)
  • HipTracking
    • format script to adhere to coding conventions (f44c89f)
    • rename script to be inline with naming convention (6157846)

Features

  • AdaptiveQuality
    • add a refresh button to the inspector (bd25e51)
    • adjust render target resolution (65d2cc3)
  • Assets
    • add svg version of logos and update main logo png (8b3678a)
  • BodyPhysics
    • add body physics script (68d6e50)
  • Climbing
    • climb release can height adjust or physics fall (714d37d)
  • Controller
    • add prefab to auto enable rigidbody on controller (3b89119)
    • add headset controller awareness (b9a9441)
  • Controls
    • add new Panel Menu 2D control (ee20315)
  • Headset
    • remove need for scripts on headset (7a5e58a)
  • Highlighter
    • specify whether highlighter uses cloned object (cb9a29d)
    • add custom material option to color swap highlighter (7d69cc0)
    • add new generic Reset method for highlighters (191e798)
  • Interaction
    • add z axis lock for direction control grab action (eb89a13)
    • allow interactable objects to be disabled (d2002e0)
    • expose interactable object highlighter reset (cb9031e)
    • add option to apply point distance on throw (f98c098)
    • combine secondary grab actions into one parameter (7292462)
    • extract grab mechanics into their own scripts (f46d7b9)
    • extract controller visibility to own script (aad88c4)
    • remove global touch highlight option (f755e23)
    • extract haptics out of interactable object (36c0f9d)
    • uniform scaling for secondary grab action (cdb6946)
    • add grab to pointer tip (a81a720)
    • add secondary grab action to control direction (9c0a465)
    • add custom secondary grab action to scale objects (aeebca8)
    • add ability to utilise secondary controller grab (7961fbe)
    • alter velocity of thrown object based on distance (695c463)
    • replace isDroppable with valid drop options (0851315)
    • support moving knobs (d06d8b0)
    • add multi interactable object gun example (c1b65bb)
    • add fire extinguisher interactable object example (5fef690)
    • add option to interact without grab (872008d)
    • support moving drawers (4961061)
    • lever attach to game object (2783df1)
  • Locomotion
    • add locomotion based on arm / head movement (3ffcb20)
  • MoveInPlace
    • add controller rotation control method (3c30dad)
  • Pointer
    • allow custom transform origin on pointers (460c3be)
    • check headset out of bounds on play area cursor (e860d83)
    • options to reorient and rescale the pointer cursor (fee13fe)
    • allow pointers to interact with interactable objects (ae31ddd)
    • separate play area cursor into own script (b487f4a)
    • pass RaycastHit struct on destination marker events (c694cd6)
  • PolicyList
    • add support for layers and rename script (3ac78e4)
  • PositionRewind
    • add ability to reset user position on collision (7a3ae1a)
  • SDK
    • add simulator (e52ca5f)
    • add basic support for Oculus Avatar package (c6fd89c)
    • add basic support for Oculus SDK and OVRCameraRig (c0fba69)
    • add button two on controller (4d53a6e)
    • add method to auto generate controller pointer origins (c923f14)
    • require all sdks to adhere to specific interface (3f019ad)
    • split bridge into distinct areas of responsibility (2008568)
    • allow controller element paths to be hand specific (0514640)
  • SDKManager
    • option to disable auto script define management (ef95e9f)
    • require scene save on auto populate linked objects (0df0065)
  • SnapDropZone
    • add prefab to allow for set drop zones for objects (b7eb7e5)
  • Structure
    • support Unity 5.5 (7580e39)
    • ensure vrtk scripts are decoupled from sdk rig setup (eca0f66)
    • rename Utilities to VRTK_SharedMethods (b364b78)
    • arrange scripts into sub directory sections (36c599c)
  • Teleport
    • disable teleport when controller obscured from view (0efefd3)
  • Tooltips
    • add method to update tooltip text at runtime (5fb8d15)
  • Tracking
    • add head-rotation independent hips (c549d25)
  • UICanvas
    • add ability to drag and drop UI elements on canvas (ff57860)
    • add ui canvas script for defining valid canvas targets (02fb992)
  • UIPointer
    • add events for click, drag start and drag end (45a39c3)
    • automatically activate UI ray within given distance (6856b8f)
    • add click ui elements with pointer collision (6d625e9)
    • add ability to choose click on button down or up (300e237)
  • Utilities
    • allow tag or script check to use include string (cb0f1e4)
  • Layers
    • expose layers to ignore for all raycasts (39cf2fe)
  • VRTK Window Menu
  • TagOrClass
    • remove tag_or_class string option (15cdf15)

Performance Improvements

  • ControllerEvents
    • don't create garbage on vector comparison (a491404)
  • AdaptiveQuality
    • increase render scale faster if possible (773e5f2)
    • change render scale less often (c7d22bb)
    • increase render scale later (aae9c90)