Release Notes

Contents

Release 2.1.8

Hardware

Notice

  1. New 6DoF controller Dev. Kit. has “Trigger” key with analog data. Please handle both “WVR_InputId_Alias1_Trigger” and “WVR_InputId_Alias1_Digital_Trigger” in your content app for the numerous controller types support.

SDK

Bug fixes

  1. Fixed cannot controller MTP overlay sometimes when gaze mode.
  2. Fix server suspend may encounter DS IPC mechanism didn’t suspend.
  3. Fixed the issue that Simple OEMService causes an app crashed because of sending server ready twice.
  4. Fixed controller beam hitting view of overlay but no response.
  5. Fixed black screen when running on specific device (Skyworth).
  6. Fixed ipd change does not update sometimes.
  7. Fixed a crash issue which was occurred when user started or reset an APP.
  8. Fixed cast fail and black screen when running second round WVR_Init
  9. Fixed crash sometimes when using two controllers.

10.Fixed virtual wall sometimes appears on the wrong timing after resuming.

Known Issues

  1. Only one controller can control overlay, such as quick menu, permission dialog and so on.

Unity

Changes

  1. Changed behavior to destroy controller when real device is disconnect or render model name is different.
  2. Changed adaptive loading to support FBX file, export button effect, beam and indicator option to controller loader.
  3. Changed controller tips for zh_cn, zh_tw language.

Added

  1. Show WaveVR relative attributes when building apps.
  2. Interaction add custom hand support.
  3. Add controller tips for RU, CS language.

Removed

  1. Removed the default value of NumDoFHMD, NumDoFController, and NumController in AndroidManifest.xml.

Bug fixes

  1. Fixed ControllerLoader memory leakage by cleaning native mesh.
  2. Fixed TrackedButtons naming conflicted with Steam VR
  3. Fixed Simulator not working when WIFI is connected.
  4. Fixed gazeTriggerType_System value when OverrideSystemDefault is not clicked.
  5. Fixed beam issues:Beam will disappear if beam mode is switched from other mode to mouse mode.Beam in flexible beam mode is NOT flexible.If there are two controllers in scene, only one controller beam changes following beam mode.
  6. Fixed issue of touch dot effect inactive between Apps switch.
  7. Read QualitySettings.activeColorSpace value at game thread to enable development build.
  8. Fixed Build Target group not switch to Android issue in DefaultPreferenceDialog.
  9. Fixed black screen issue after Unity 2018.1.2f1.

Unreal

Changes

  1. Set default values when cast WaveVR_Pawn failed in AdaptiveControllerBP. (no WaveVR_Pawn exists)
  2. Update projection matrix when IPD changed in WVR.
  3. Use Pawn without casting to WaveVRPawn location to spawn controller model.
  4. Set default values when cast WaveVRPawn failed in AdaptiveControllerBP. (no WaveVRPawn exists)
  5. Decouple CameraTexture plugin and sample and refine VRTestApp for camera.
  6. Reset orientation same as runtime pose while take off and on HMD if triggered Teleport.
  7. Do not set pose as 0, pose will be the same as the last valid one when pose is invalid.
  8. Move “Enable Input Simulator” feature from Controller to WaveVR_Pawn
  9. Hide controller when pose is invalid.
  10. Increase the arm model elbow pitch angle from degree 60 to 90.

Added

  1. Add Instant play feature.
  2. Add button event handling to Controller and Gaze for 3D objects of Editor Mode
  3. Add AskWaveVRPawnToTeleport_Event a bool NeedRotateYaw due to we do not make orientation change by default.
  4. Add TouchpadPress event.
  5. Add Enter/Exit event in WaveVR_Pawn for beam mouse mode.
  6. Add VR Mode while run on WVR path to increase performance.

Removed

  1. Remove mouse click event handling in AdaptiveControllerBP.
  2. Remove unhover event from interaction_interface.

Bug fixes

  1. Fix “Gaze will be triggered when switching interaction mode from Controller”
  2. Fix “Show native volume key while run on WVR path”
  3. Fix “Quick Manu cannot show after pause/resume” issue.
  4. Fix “Abnormal Quit” issue by solving assertion message.

Known Issues

  1. Do not support button effect in current version.
  2. Do not support IME in current version.
  3. Do not support WaveVR simulator in current version.

Pluginkit SDK

Changes

  1. Modified VRDevice lifecycle, call onResume/onPause after onStart

Added

  1. Added new pluginkit API setSwipeDistanceThreshold to adjust the minimum movement of swipe motions on touchpad

Release 2.1.0

SDK

Changes

  1. WaveVR server supports the functions with API Level 2. See detail in WVR Version Check.
  2. Refined WVR_EventType name and id, please check the enum definition in file wvr_types.h for detail.
  3. Renamed WVR_InputId_9 alias mapping from WVR_InputId_Alias1_Bumper to WVR_InputId_Alias1_Digital_Trigger.
  4. Supports pose reporting velocity and angular velocity.
  5. Supports overlay controller model dynamically loading from device service.
  6. Extend triggering time of Gaze to 3 seconds in overlay.
  7. Enlarge Gaze circle to 1.5 times in overlay.

Added

  1. Added new SDK API WVR_InAppRecenter for APP to make specific recenter within app. Note that the effect of re-center in app will be reset while the app is onPause.
  2. Supports interaction mode to switch controller or gaze content scene. See wvr_device.h for detail.
  3. Supports gaze trigger type to switch timeout or button trigger. See wvr_device.h for detail.
  4. Added WVR_SetPerformanceLevels API for Qualcomm SVR platform.
  5. Added new SDK API WVR_IsOverlayValid to check if overlay release after Android suspended.
  6. Added new SDK API WVR_SetNeckModelEnabled to enable/disable neck model.
  7. Runtime return zero position for 3dof scene AP (WVR_PoseOriginModel_OriginOnHead_3DoF).
  8. Added transition when switch to passenger mode.

Removed

  1. Deprecated WVR_TriggerRecenter API.
  2. Deprecated WVR_TrackingModeEvent_t struct.
  3. Deprecated WVR_Hexagon_t struct.

Bug fixes

  1. Fixed issue of WVR client is no default height for origin on ground.
  2. Fixed App hung when previous App out of boundary.
  3. Fixed jitter and no available texture sometimes when using StereoRenderer.
  4. Fixed black screen when missing properties files in device service.
  5. Fixed App black screen when the second time launching on Mali GPU.
  6. Fixed unity reload scene may cause abnormal when doing miracasting.
  7. Fixed controller cannot rebind after removing bonding.
  8. Fixed loading animation will always show up when user turns on/off virtual wall in more setting.
  9. Fixed the issue of server crash which is caused when server tried to unregister a controller after clearing all devices.
  10. Fixed the performance dropping when enable/disable passenger mode.
  11. Improved the overlay performance.
  12. Fixed scene shaking issue while HMD is static.
  13. Fixed screen mess after APP resumed.
  14. Fixed an issue which would occur recursive execution when system checked the positions of all of devices. This issue would appear that the moment controller role(right hand/left hand) should be exchanged.

Unity

Changes

  1. Replaced button name Bumper with Digital_Trigger.
  2. Replaced keyword trackpad with touchpad.
  3. Replaced WVR_EventType_Settings_Controller with WVR_EventType_DeviceRoleChanged
  4. Supports interaction mode to handle both user settings and system settings by using OverrideSystemSettings flag.
  5. Supports WaveVR Unity Plugin build passed on Unity 2018.
  6. Show generic controller model with old version wavevr service.
  7. Make the controller beam of fixed beam to be solid line and could be adjusted during design stage.
  8. Fine tune Interaction algorithm for System Focus. 1) Disable gaze icon when losing focus. 2) WaveVR_TrackedButtons does not check button state when losing focus.
  9. Update Finch controller model.
  10. Refine algorithm of Interaction Mode and Pose Tracker Manager.
    • We used 4 variables to determine whether to hide object with pose tracker or not. There are 2 kinds of pose tracked object: (1) Normal object : shown when connected && has system focus && pose updated. (2) Controller : shown when connected && has system focus && pose updated && not Gaze mode.
    • Hide pose tracked objects on AP start.
    • Use Gaze.EnableGaze and Controller.EnableController to record custom setting of Input Module.
    • Use InteractionMode_System to record system setting of Input Module.
    • Add broadcast of INTERACTION_MODE_CHANGED and SYSTEMFOCUS_CHANGED
    • Reset interaction mode and gaze trigger type to system settings when disabled (leave scene)
    • If interaction mode is Gaze only, (1) Hide event controller (including model, beam and pointer), (2) Not influence other GameObjects those are using WaveVR_PoseTrackerManager.
    • If interaction mode is NOT Gaze only, (1) Show event controller if connected, (2) Not influence other GameObjects.
  11. Change generic controller model to Finch.
  12. Export adaptive loading option.
  13. Using reload scene to apply SetQualityLevel instead of pause/resume for applyExpensiveChanges is true.

Added

  1. Added SetPerformanceLevels function.
  2. Added adaptive loading feature to controller loader. 1st priority is adaptive loading, next is generic model.
  3. Added interaction mode/gaze trigger type.
  4. Hide controller when interaction mode - gaze only.
  5. Support neck model in PoseTrackerManager and DevicePoseTracker.
  6. Added option to toggle adaptive loading.
  7. Support WaveVR simulator in editor.

Removed

  1. Removed Finch/Link/Pico/iQiyi controller model in SDK package.
  2. Removed libwvrDistortion.dll from apks.
  3. Removed the default value of “com.htc.vr.content.NumDoFHmd”, “com.htc.vr.content.NumDoFController”, and “com.htc.vr.content.NumController” from AndroidManifest.xml. Please refer to Configure App Capabilities to know how to configure your content app.

Bug fixes

  1. Fixed an issue which application would be black screen for 20 seconds and then crashed while pressing controller app button after Home button pressed.
  2. Reset button states while controller role change.
  3. Fixed black screen issue when controller role Change.
  4. Fixed AP can’t receive “WVR_EventType_DeviceRoleChanged” event while in background issue.
  5. Do NOT gaze if no system focus.
  6. Correct touch dot effect position.
  7. Reset button state after resume.
  8. Fixed render memory leakage.
  9. Fixed AssetBundleCreate for unity 2018.
  10. Fixed the beam length of other controller mode could not be recovered after switching interface between controller and Gaze.
  11. Fixed null pointer exception if no InputModuleManager in interaction mode.
  12. Controller Input Module still works when no system focus.
  13. Fixed sometimes beam is not controlled.
  14. Fixed GameObject with PointerEnter is not released when controller is hidden.
  15. Fixed when setting OverrideSystemSettings from false to true, interaction mode is not reset to user settings.
  16. Fixed memory leakage of WaveVR_Beam.

Unreal

Changes

  1. Replaced WVR_EventType_Settings_Controller with WVR_EventType_DeviceRoleChanged.
  2. Replaced button name Bumper with Digital_Trigger.
  3. Default disable telepot feature on WaveVR_Pawn.
  4. Changed WVR_Event name to fit SDK.
  5. Corrected camera image format value of CameraTexture.
  6. Reset button states while receive WVR_EventType_DeviceRoleChanged event.
  7. Change reticle color to white.
  8. Change beam color to white.
  9. Upgrade to fit UE4.19.
  10. Export FollowHMD and SimulationPose to controller loader.
  11. Change and refine PermissionManager behavior.
  12. Changed logic to add generic controller model to adaptive controller if resource loading failed.
  13. Changed loaded controller model base on WaveVRPawn location.
  14. Changed button support in PIE to AdaptiveController
  15. Changed the style of spinning reticle and beam of Controller.
  16. Changed generic controller model.
  17. Change interaction mode mechanism.
  18. Upgrade to Unreal Engine version 4.20.

Added

  1. Added permissions for accessing VRSettings.
  2. Added IsInputFocusBySystem condition to avoid showing controller while showing system menu.
  3. Added GetSupportedNumOfDoF/GetNumOfDoF/SetNumOfDoF in Blueprint function library.
  4. Added all common events broadcast.
  5. Added Adaptive Controller Loader feature
  6. Load generic controller model when FBX/PNG reading failed.
  7. Added spinning reticle.
  8. Added AskWRPawnToDispatcher on WaveVRPawn to trigger Teleport.
  9. Default use “touch pad” button to trigger onClick event on Widgets. And automatically trigger holver/unhover by controller beam or gaze.
  10. Added controller mouse mode for widget.

Removed

  1. Removed static function of PermissionManager.
  2. Removed indicator feature of Controller Model.
  3. Remove redundant WaveVRController APIs from Blueprint
  4. Remove all resources of Finch/Link blueprint.

Bug fixes

  1. Fixed “volume key on HMD not work”.
  2. Fixed Hide Controller model logic.
  3. Fixed Gaze point lost focus.
  4. Fixed AP can’t receive “WVR_EventType_DeviceRoleChanged” event while in background.
  5. Fixed local reference overflow of PermissionManager
  6. Fixed touch up / press up event is not received after switching hand.
  7. Fixed “Can’t launch on U11-Link” issue.
  8. Fixed “First frame not updated after doing Teleport immediately” issue
  9. Fixed “Black edge” issue.
  10. Fixed return value of isPermissionGranted.
  11. Fixed adaptive loader crash on API_LEVEL_1 server
  12. Fixed Simulated controller will flash at level starting issue.
  13. Fixed Memory leakage on adaptive loader,camera texture and WaveVRHMD.
  14. Fixed reticle and spinning reticle hidden by scene objects issue.
  15. Fixed “controller model shown with stripes” issue.
  16. Fixed “click event of mouse mode keep be sent when button is pressed continuely.” issue
  17. Fixed “beam is disappeared after move controller behind head and back in front of head” issue
  18. Fixed wrong pose on first frame while doing Teleport.
  19. Fixed warning messages.
  20. Fixed interaction mode is not reset to user settings when setting OverrideSystemSettings from false to true.
  21. Fixed 2D permisssion request issue.

Known Issues

  1. Do not support button effect in current version.
  2. Do not support IME in current version.
  3. Do not support WaveVR simulator in current version.

Pluginkit SDK

Changes

  1. Modified VRDeviceService onBind() must return super.onBind().

Added

  1. Add document of “Configure Device Capabilities” about defining capability of device for filtering app.

Removed

  1. Removed attribute include Attr_IsHWRecenter_Bool and Attr_Is6DoFTracking_Bool.

Release 2.0.37

SDK

  1. Fixed “While out-of-boundary, invoking SetArenaVisible to ForceOn virtual wall will cause the scene is black.”
  2. Fixed camera feature cannot work on 3-DoF mode.
  3. Release texture memory while app goes to background.
  4. Inform 6/3Dof Mode change to AP and DeviceService.
  5. Enable miracast + single-eye presentation.
  6. Fixed watchdog timeout on WVR_StartRender.
  7. Change android minSDKVersion to 25.
  8. 3/6 DoF mode switch configured by More Settings.
  9. Fixed miracast HMD and TV screen are both abnormal.
  10. Replace WVR_EventType_RecenterSuccess with WVR_EventType_RecenterSuccess_3DoF event when device is 3-DoF or in 3-DoF tracking mode.

Unity

  1. Change controller indicator “Trackpad” -> “Touchpad”.
  2. Add the button control feature to Gaze function.
  3. Reset button state after controller role is changed.
  4. Fix issue: AP does NOT receive role change event while in background.

Release 2.0.32

SDK

  1. Fixed app crash while VR device doesn’t install ConfigService.
  2. Allow content to set virtual wall WVR_ArenaVisible_Auto or WVR_ArenaVisible_ForceOn via SetArenaVisible function. WVR_ArenaVisible_ForceOff is still restricted for users’ safety.
  3. Removed “Launching” word of app switching picture.
  4. Fixed no button id in touchpad swipe event.
  5. Changed default mode of miracast to mirror mode.
  6. Upgraded the controller model of overlay.
  7. Fixed overlay controller hang after application suspend -> resume.
  8. Disable WVR_TriggerRecenter function for Vive Focus since Vive Focus has the system recenter flow and developers have no need to do recenter per content.
  9. Support left-handed mode. Note. The apps built with SDK 2.0.23 or former just support right-handed mode even users switch to left-handed mode via settings.
  10. Support 3DoF mode for the usage on vehicle.
  11. Support arm model controller for overlay.
  12. Change Miracast function from mirror mode with stereo distorted image to presentation mode with mono undistorted image.
  13. Change app switching image.
  14. Change app loader animation.

Unity

  1. Fixed touchpad of controller model sometimes may show blue effect even controller touchpad doesn’t be pressed.
  2. Fixed controller model indicator blurred with the translucent content scene.
  3. Fixed controller model indicator language cannot be switched real-time while system language is changed.
  4. Fixed controller model indicator cannot be shown while user turns to back.
  5. Set default value of controller model indicator OFF. Developer enables it by content demand.
  6. Fixed the flicker of controller model indicators.
  7. Fixed controller disappears while left/right hand switch.
  8. Add feature for hiding controller indicator when xangle > 90 degrees.
  9. Support controller mouse pointer mode to fix controller beam dot cross objects in visual but no hover event in fact.
  10. Fine tune controller arm model behavior.
  11. Fine tune the usage of controller module of unity plugin.
  12. Upgrade new controller model of Vive Focus, and add buttron effects and indicators.

Release 2.0.23

SDK

  1. Enable virtual wall for 3DoF contents.
  2. Fix some logic error for “New launched app inherits the last pose from previous app”.
  3. Fix issue “The launcher shifts 90 degrees after reboot device”.
  4. Fix issue “The content drifts after switch app”.
  5. Fix issue “Abnormal sensor polling caused system overhead”.
  6. Fix issue “Server crashes while controller is disconnected”.
  7. Hide controller model and disable button/touch/analog events until user does re-center successfully.
  8. Change the system overlay behavior from moving with head to fixed position.
  9. Change the controller beam style and position of system overlay.
  10. Change the Vive Wave logo while app launches.
  11. Fix issue “IME cannot be hit while the head is moving”.
  12. Fix issue “IME sluggish and broken”.
  13. Avoid onResume/onPause too fast resulting in Unity abnormal by sleeping 200ms in the main thread after calling unity resume.
  14. Avoid the black screen issue when the app crashes and onServerReady not along with onResume.
  15. Change texture number used in texture queue from 6 to 3 to shrink memory usage.
  16. Adjust z-order of overlay modules to fix issue “Controller focus dot crosses overlay panel”.
  17. Shutdown device if device is idle more than 4 hours.

Unity

  1. Update Finch controller model.

    • Change battery color from blue to white.
    • Change button color and line width.
    • Create touch-dot-texture dynamically if touchpad_use_texture is false.
    • Changed: Finch controller & beam’s shape.
    • Added: Finch controller transparency.
    • Tune size of beam pointer.
  2. Controller will become transparent if its position is closed to eye camera.

  3. Add a script ControllerFadeManager to help hiding controller when pitch is higher than 75 degree(this function IS NOT applied to controller by default).

  4. WaveVR_ControllerInputModule effects the WaveVR_ControllerPointer instead of the WaveVR_Reticle.

  5. Fine tune the behavior of arm model.

  6. Fix controller pose pulse issue.

  7. WaveVR_Render adds new checkbox, ‘TimeController’. This can help to set timeScale=0 if input focus is captured by system UI.

  8. Disable feature “Controller becomes transparent while user raises controller in front of eyes”.

  9. Fix issue “OnClick of button is called twice” in WaveVR_ControllerInputModule.cs.