Release Notes
v0.9.0
Spectacles Interaction Kit v0.9.0 has several improvements to the kit, including an all-new example scene! Please review these release notes before getting started, as these improvements will greatly expand on what you can build for Spectacles!
To update the SIK in your existing project, right-click the SpectaclesInteractionKit package in your Asset Browser and select Pull Update!
Sample Scene: Rocket Workshop
As the main feature of SIK v0.9.0, SIK now comes with a reworked example scene! SIK has split into two main prefabs: SpectaclesInteractionKit.prefab for components that handle interactions (e.g. Interactors and Cursors), and SIK Examples.prefab for examples on how to use SIK to build an effective UI!
Check out the new examples for setting up more complex components such as ContainerFrame and ScrollView!
This division of the original SIK prefab into core interaction components and examples will also allow for a smoother update process in the future. As a one-time process, we recommend deleting the SpectaclesInteractionKit prefab in your Scene Hierarchy before updating your SIK to v0.9.0, then re-dragging the SpectaclesInteractionKit prefab back into your Scene Hierarchy.
Core Updates
HandInteractor
- Changed dragVector to return vec3.zero() whenever the hand goes from out of FoV to in FoV, preventing noisy drag updates
InteractionManager
- Added getInteractablesThatTarget which returns all Interactables that can be targeting by a given type
- e.g. getInteractablesThatTarget(TargetingMode.Poke) would return all Interactables of TargetingMode.Poke or TargetingMode.All
- Deprecated getInteractablesByTargetingMode in favor of getInteractablesThatTarget
Interactor
- Changed TargetingMode.All to also include poke targeting ( previously only Indirect & Direct targeting)
Interaction Updates
Billboard
- Deprecated the redundant duration property for cleaner usage
InteractableManipulation
- Fixed an issue where disabled Interactors could still manipulate the SceneObject
InteractorCursor
- Renamed enableCursorSnapping to enableCursorHolding for more accurate naming
UI Updates
ContainerFrame
- Fixed snapping issues
- Fixed an issue with deleting the ContainerFrame’s HoverBehavior
- Fixed an issue with mishandling the cursor visual when interacting with the ContainerFrame
- Removed redundant / deprecated input parameters and API
- Improved the look of the ContainerFrame’s content by adding a cutout of the background
- Updated the resizing algorithm for smoother usage
ScrollBar
- Refactored initialization to avoid a crash on enable
ScrollView
- Improved the scroll interaction by filtering noise at the end of the drag
- Refactored initialization to avoid a crash on enable
Helper Updates
InteractableAudioFeedback
- Updated the default .mp3 assets for trigger start / end
InteractableColorFeedback
- Fixed callback logic to display the proper interaction feedback
Provider Updates
CameraProvider
- Fixed an issue where the camera component being disabled would cause unexpected behavior
HandVisuals
- Improved start up time via lazy instantiation
- Exposed initialize to allow developers to instantiate the visuals at-will
TrackedHand
- Added a wrist Keypoint to allPoints
- Fixed hand tracking calculations to operate in world space to prevent scene hierarchy issues
General Updates
Documentation
- Added TSDocs to all components for better class documentation
Logging
- Added a log to print the exact SIK version in the console on lens start
Material Improvements
- Fixed frustrum culling in many SIK assets to improve visibility and power consumption
Package Metadata
- Added a link to documentation in the package’s description in Asset Browser / Inspector
- Added preliminary setup steps in the package’s description in Asset Browser / Inspector