Upgraded Core Assets to expect Unity 2017.1.0p4, a version that patch-fixes a security vulnerability allowing arbitrary code execution. See UNITY-SEC-844. Unity 5.6 and above remain supported.
Leap Hands
Adjusted the default pose offset of the Leap Motion Controller from a tracked headset to be 12 cm forward (previously 10 cm) and a 5 degree tilt downward (previously 0 degrees). This change is expected to improve hand alignment for most VR devices.
Added a checkbox to allow manual Leap Motion Controller pose alignment on the LeapVRTemporalWarping script. Available parameters are forward offset, vertical offset, and upward/downward tilt. These settings are tied to the application, not the headset, so these settings should only be used under circumstances where the application will be run in a known headset configuration.
Fixed a bug where Attachment Hands could null-reference when iterating through all available attachment points.
Query (Garbageless LINQ)
Added Min and Max query operations for queries on collections of IComparables.
Added support Query()-ing 2D arrays.
Utilities
Added the Maybe\<T\> and Either<U, V> data structures.
Added the AnimationCurveUtil, providing static methods that can compress AnimationCurve objects, with a parameterized maximum error.
Added SerializableType, which allows you to serialize Type references.
Added ProgressBar, an easy way to produce progress bars for long operations in-editor.
Added AssetFolder, an intelligent serializable reference to a folder.
Pressing X on initial gravity and timestep warnings no longer dismisses the warnings forever.
Example 7 has been added, demonstrating how to set up a scene to support putting the player in a moving reference frame and still have user interfaces function properly.
SceneSettings have been removed from Example 2, preventing project settings from getting clobbered.
Sliders have had their inspectors organized more neatly.
Fixed an issue where, at low physics timesteps, buttons moved too slowly.
Interaction objects are no longer required to exist on the Interaction layer. Layers with interaction objects on them are tracked and still filtered for physics optimization.
Interaction buttons and sliders can now be constructed based upon where they relax to or where they depress to.
Added a warning when RigidRoundHand scripts are detected in the scene, as these scripts break proper physics functionality.
Fixed physical and visual instability when grasping buttons.
Fixed instability when grasping objects with centers of mass that are offset from the Rigidbody transform position.
Interaction Controllers now provide warnings in their inspectors if they are added to a scene but not beneath an InteractionManager.
Fixed exception when adding an InteractionBehaviour component at runtime
Fixed a bug with AnchorableBehaviours where inspector utility buttons were incorrectly grayed out when only a single object was selected.
SetRuntimeTint now features a string-based overload taking in HTML color strings, allowing UnityEvents to target the method in the inspector.
Graphics now prefer the group they were originally added to, better supporting scenarios where graphics are enabled or disabled at runtime.
Fixed a bug where graphic settings were not duplicated properly when an entire Graphic Renderer was duplicated.
Fixed a bug where text glyphs were not being refreshed properly.
Added LeapBoxGraphic and LeapPanelOutlineGraphic alongside the LeapPanelGraphic as additional procedural mesh generators built-in to the Graphic Renderer.
The AttachmentHands script reproduces the functionality of the Attachments Module with a more intuitive Inspector interface and Hierarchy behavior. Add it to a GameObject beneath your VR object rig to get started.
MultiTypedList/MultiTypedReference allow you to serialize (but not draw) data that is of multiple different types.
Deprecate the AutoFind attribute.
Added SerializableHashSet to mirror SerializableDictionary.
Added ReadonlyHashSet, for when you just don’t want anybody messin’ around with your HashSets.
LeapVRTemporalWarping (in Core Asset) has new functionality for the Sync Mode enum. Most scenes should be set to LOW_LATENCY while AR scenes using video passthrough should be set to SYNC_WITH_HANDS
Enhancement: smoothed interpolation chooses optimal value automatically
Enhancement: Added SerializableDictionary to /DataStructures/
Enhancement: added MinHeap to /DataStructures/
Enhancement: attributes properties can be disabled by other properties
Fix: removed redundant pinch variables
Fix: improved multi-value attribute editing
Fix: removed "Either" from iHandModel's Chirality enum
Fix: compile error from RiggedHand and RiggedHandMobile
Upgraded LeapC - PR#437
Enhancement: improved AutoFind attribute
Fix: updated LeapCSharp.NET.3.5.dll to handle new device serial numbers
Fix: removed all foreach loops for performance
Fix: LeapVRTemporalWarping has new functionality for the Sync Mode enum. Most scenes should be set to LOW_LATENCY while AR scenes using video passthrough should be set to SYNC_WITH_HANDS
Fix: In LeapServiceProvider, interpolation enabling/disabling is now hidden and on by default.