Release Notes

Contents

Release 6.2.0

SDK

Added

  1. Added WVR_GetSceneObjects API. (See WVR Scene).

Changes

  1. For Lip Expression, change occurences of the text “smile” to “raiser” and “sad” to “stretcher” in the header file (see WVR Lip) and in the sample code (see WVR_GetLipExpData).

Unity

Added

  1. Added APIs with timestamp for Hand and Eye Tracking.

Changes

  1. Optimize the collision detection radius.
  2. Direct Preview supports hand pinch.
  3. Update controller and hand default models.
  4. Update hand root pose at beforeRender.
  5. Replace emotion-related texts with non-emotion descriptors.

Bug fixes

  1. Fixed tearing problem of spectator camera recording.
  2. Fixed the eye & lip expressions don’t work after device reconnection.

Unreal

Added

  1. Added refined hand tracking models. The new model provides a more accurate representation and behavior, closely matching the movements and gestures of a real hand.
  2. Added support for SceneObject to obtain the pose, mesh and external dimensions of perdefined objects in the Scene Perception feature. (See Unreal Scene Perception And Anchor)

Changes

  1. Replaced emotion related texts with non-emotion ones. (See Lip Expression)

Known Issues

  1. [UE5.0 Only] UE5.0 apps may encounter crash when launching on Focus Vision. Please use UE5.1 or above to avoid this issue. [Unreal issue]
  2. FoveatedRendering is ineffective when Mobile Multi-View is enabled. Please disable Mobile Multi-View to use FoveatedRendering feature.

Release 6.1.0

SDK

Added

  1. Added clamp mesh when passthrough is showing to reduce GPU loading.

Changes

  1. Move eye tracking foveation from WVR_FoveationMode_Default to WVR_FoveationMode_Dynamic. (See WVR_RenderFoveationMode)
  2. Upgrade android minSDKVersion to 29.

Bug fixes

  1. Fixed WVR_GetEyeTracking crash due to accessing already free native buffer.

Unity

Changes

  1. Added constraint and throw features in RHI.
  2. Update facial expression mapping configuration value for mouth sad expression.
  3. Upgrade android minSDKVersion to 29.

Unreal

Changes

  1. Added limitation for android minSDKVersion. Please set android minSDKVersion to 29 or greater. (See Unreal Plugin Getting Started)

Known Issues

  1. [UE5.0 Only] The apps built in UE5.0 will encounter crash when launching in some devices which have higher Android version. Please use the SDK for the UE version greater or equal to UE5.1 to avoid the crash issue. [Unreal issue]
  2. FoveatedRendering is ineffective when Mobile Multi-View is enabled. Please disable Mobile Multi-View to avoid this issue if you would like to use FoveatedRendering feature.

Release 6.0.0

Unity

Added

  1. Added debugging shortcut on SpectatorCameraManager.
  2. Added the grabbing feature of Realistic Hand Interaction (Beta).
  3. [Beta] FacialExpressionMaker: Add tool and sample for facial expression make. (This is an experimental feature.) (See FacialExpressionMaker)

Changes

  1. Support mipmap on compositor layer.
  2. When import ScenePerception’s demo, XRSDK Samples will be imported too.
  3. Foveation added Dynamic mode in settings.
  4. TrackableMarker add new API ClearTrackableMarker. (See Trackable Marker page)
  5. Supports the self-tracker in Input System.
  6. Supports Tracker Grip key, Menu touch and Trigger Touch (See Wave Tracker Interface).
  7. Added API to check if the eye tracking device is connected.
  8. Added WaveEssence APIs to get tracking information for WVR_DeviceType.
  9. Added Tracker’s swipe event API.
  10. Anchor added samples and helper functions for world alignment. (See Concept for Using Persisted Anchor in Multiplayer MR Games page)
  11. When building apk, it will pop up a dialog to use newer gradle version.
  12. Supports Tracker Menu Touch and Trigger Touch.

Bug fixes

  1. Fixed the misnaming of the pinch area.
  2. Fixed the controller render model showed in inverted direction.
  3. Fixed ScenePerception’s demo cause compile error if no import XRSDK Samples.
  4. Fixed Dynamic Resolution’s list value in settings will set to infinite if cannot get XRSettings.eyeTextureWidth.
  5. Fixed Direct Preview hand tracking issue.
  6. Fixed the issue that while using Input System, the controller sometimes will become unavailable after suspend/resume.

Removed

  1. Body Tracking feature removed.

Unreal

Added

  1. Support UE5.3.
  2. Added new API ClearTrackableMarkers (beta version). (See Unreal Marker)
  3. Support Unreal Engine API HMDWornState to detect if user is wearing the HMD or not.
  4. Support Tracker Touchpad and Grip key. (See Tracker)

Bug fixes

  1. Fixed “DirectPreview crash when using HandTrackingData” issue. (See DirectPreview)
  2. Fixed “StereoLayer cannot be moved” issue. (Multi-Layer)
  3. Fixed “Crash while using Transform of Anchor” issue. (See Unreal Scene Perception And Anchor)

Known Issues

  1. FoveatedRendering is ineffective when Mobile Multi-View is enabled. Please disable Mobile Multi-View to avoid this issue if you would like to use FoveatedRendering feature.

Release 5.6.0

SDK

Added

  1. Added WVR_HandGraspState in WVR_HandJointData. (See WVR_GetHandTrackingData)
    Requests Wave Runtime 5.6.0+ (for API Level 16+) to support.
  2. Added WVR_ClearTrackableMarkers API. (See WVR Marker)

Changes

  1. Added WVR_SemanticLabelName inside WVR_ScenePlane data structure. (See WVR_GetScenePlanes)

Unity

Added

  1. Added APIs for Hand Grasp. (See Hand Tracking)

Changes

  1. Spectator feature: added FOV visualization, image stabilization feature, and tracker mode. (See Spectator page)
  2. Spectator feature: supports “multi-scene” scenario and abandons “Controller” and “Custom” mode. (See Spectator page)
  3. Added pinch area for Hand raycast. (See Raycast)
  4. In the Scene Perception Feature, certain APIs that previously returned OpenGL data have been duplicated. Instead, please use the new APIs, which now provide data in Unity’s coordinate system and format.
  5. [Important] Please set gradle version to 6.9.2 when using Unity version 2019.

Unreal

Added

  1. Added APIs for Hand Grasp. (See Hand)
  2. Added APIs to set/get focused tracker. (See Tracker)
  3. Added APIs to check if the tracker pose is 6DoF. (See Tracker)

Changes

  1. Support Java SE 11 only. (See Unreal Plugin Getting Started)
  2. Change a variable name in the anchor’s blueprint function ‘GetFilesInFolder’.

Known Issues

  1. FoveatedRendering is ineffective when Mobile Multi-View is enabled. Please disable Mobile Multi-View to avoid this issue if you would like to use FoveatedRendering feature.

Release 5.5.0

SDK

Added

  1. Added isPinching to explicitly express pinch or not. (sample code in WVR_GetHandTrackingData)
    Requests Runtime with API Level 16+ to support.
  2. Added new API WVR_SetPassthroughImageRate. (See WVR System)
  3. Only supported 64-bit in WAVE SDK 5.5.0 and later.

Changes

  1. No longer support 32-bits from WAVE SDK 5.5.0

Unity

Added

  1. Added Passthrough image frame rate API. (See WVR System)
  2. Supported MRTK 2.8.3 and 3.0.0 including controller, hand tracking and hand interaction.
  3. Added checkbox to skip auto update package.
  4. Provided new APIs of “Hand is pinching state” and “Hand Pinch Off Threshold”. (See Hand Tracking)
  5. Supported Unity InputFeatureUsage<bool>(“TriggerTouch”).
  6. Added TrackersXR demo scene.

Changes

  1. [Important] Wave SDK No Longer Support 32-bit after Version 5.5.0.
  2. Put dynamic change tracking origin in WaveRig back.
  3. Refactored Direct Preview to support URP single-pass and improve stability.

Bug fixes

  1. Fixed spectator kept increasing the depth value of Camera.main.
  2. Removed duplicated event generator.

Unreal

Added

  1. Added PassthroughImageRate blueprint API. (See Passthrough Quality, Performance, and Aligment)
  2. Added Hand Tracking blueprint APIs of “Hand is pinching state” and “Hand Pinch Off Threshold”. (See Hand)

Bug fixes

  1. Fixed “Direct Preview did not work without installing Visual Studio (MSVCP140D.dll)” issue. (See DirectPreview)
  2. Fixed “Package failed when the IncludeOrderVersion is not EngineIncludeOrderVersion.Latest.” issue. The blueprint project, for example Virtual Reality Template, would encounter this problem because the default value of IncludeOrderVersion is Unreal5_0 in Unreal Engine 5.2.
  3. Fixed “Anchor helper function GetFilesInFolder acturally output filenames but not filePathnames.” and ducument modification.

Known Issues

  1. FoveatedRendering is ineffective when Mobile Multi-View is enabled. Please disable Mobile Multi-View to avoid this issue if you would like to use FoveatedRendering feature.

Release 5.4.0

SDK

Added

  1. Added cached and persisted anchor APIs.
  2. Added three new events WVR_EventType_SpatialAnchor_Changed / WVR_EventType_CachedAnchor_Changed / WVR_EventType_PersistedAnchor_Changed. (See WVR Scene)

Unity

Added

  1. Added body Tracking feature. (See Body Tracking)
  2. Added persisted spatial anchor, cached spatial anchor and updated the samples. (See Unity Spatial Anchor )
  3. Added Spectator Feature Pack. (See Spectator Camera)
  4. Added acceleration of Tracker.
  5. Added PoseState of ViveWaveWristTracker(Input System).
  6. Added Hand Pinch selection for GazeRayCasting.

Changes

  1. New feature package of Essence: URPMaterial package provides hand materials for URP environment.
  2. If runtime RenderModel is not set, the default controller render model is changed from Focus’ controllers to Focus 3’s controllers.
  3. Refine the memory usage of the controller render model.
  4. Hide the raycast beam/pointer by default. (See Raycast)

Bug fixes

  1. Fixed controller buttons texture is missing.
  2. Fixed controller render model is not shown in some cases.
  3. Fixed Direct Preview apk install failed issue.

Unreal

Added

  1. Support UE5.2.
  2. Cached/Persisted anchor APIs and the sample. (See Unreal Spatial Anchor)
  3. Hand pinch for WaveVRGazePointer. (See Interaction)

Changes

  1. The server process window for DirectPreview will be minimized in the taskbar. (See DirectPreview)
  2. Set HMD pose to invalid when AP suspends.

Bug fixes

  1. Fixed “The rendered frame in HMD looks laggy after the device is suspended and resumed in DirectPreview” issue.

Known Issues

  1. [UE5.0/5.1/5.2] FoveatedRendering is ineffective when Mobile Multi-View is enabled. Please disable Mobile Multi-View to avoid this issue if you would like to use FoveatedRendering feature.
  2. [UE5.0] MSAA is not supported currently when Mobile Multi-View is enabled. Android application will crash when launched. Please set MSAA Sample Count as No MSAA or disable Mobile Multi-View in project settings to avoid this issue.
  3. [UE5.0] There is a chance that the texture set on a StereoLayer component is invalid when a level is loaded. This may lead to the disappearance of the StereoLayer as it cannot be rendered correctly. [Unreal Issue]
  4. [UE4.27] Alpha blending with translucent foreground objects is incorrect for StereoLayers when the “Supports Depth” option is enabled.
  5. [UE4.27] Selecting 32-bit builds may encounter an issue that abnormal black shadows are rendered and the application may crash when encountering this issue. Choose 64-bit to avoid this issue.

Release 5.3.2

SDK

Changes

  1. When the overlay pops up, the tracker pose will be invalid and tracker button feature will be disabled.

Unity

Added

  1. Added an interface for prioritizing Game / Render / JobWorker thread.

Changes

  1. Reduced the time of getting battery level of RenderModel.

Bug fixes

  1. Fixed HMD tracking is sometimes abnormal after suspending/resuming when using Input System.

Unreal

Bug fixes

  1. [UE5.0/5.1] Fixed “The controller pointer may be occluded by translucent GUI widgets” issue.

Known Issues

  1. [UE5.0] MSAA is not supported currently when Mobile Multi-View is enabled. The android application will crash when launched. Please set MSAA Sample Count as No MSAA or disable Mobile Multi-View in project settings to avoid this issue.
  2. [UE5.0/5.1] FoveatedRendering is ineffective when Mobile Multi-View is enabled. Please disable Mobile Multi-View to avoid this issue if you would like to use FoveatedRendering feature.
  3. [UE5.0] There is a chance where the texture set on a StereoLayer component is invalid when a level is loaded. This may lead to the disappearance of the StereoLayer as it cannot be rendered correctly. [Unreal Issue]
  4. [UE4.27] Alpha blending with translucent foreground objects is wrong for StereoLayers with the “Supports Depth” option enabled.
  5. [UE4.27] 32-bit builds may encounter an issue where abnormal black shadows are rendered and the application may crash when encountering this issue. Choose 64-bit to avoid this issue.

Release 5.3.1

SDK

Bug fixes

  1. Fixed memory leakage for the app built with SDK 5.3.0 is under casting or recording.

Release 5.3.0

SDK

Added

  1. Supports Marker SDK (beta version). (See WVR Marker)
  2. Extend the definition of tracker role for function WVR_GetTrackerRole. (See WVR Tracker)
  3. Add new event WVR_EventType_TrackerRoleChanged. (See WVR Tracker)

Changes

  1. VR application renders with slow FPS instead of stopping rendering completely when the HMD’s display off.

Known Issues

  1. The app built with SDK 5.3.0 has memory leakage is under casting or recording. It is strongly recommended to upgrade to SDK 5.3.1.

Unity

Added

  1. Added support for Marker feature (beta version). (See Unity Marker)
  2. Added URP support for DirectPreview.
  3. Added New Tracker IDs and Roles.
  4. Added Supports Pinch release strength and default Pinch Threshold in HandRaycastPointer.
  5. Added Supports the Tracker name in XRSDK package.
  6. Added Support for Unity 2022.

Changes

  1. userPresence is NOT supported to checks the proximity sensor status.

Bug fixes

  1. Fixed DirectPreview Dll not found issue on some PCs.
  2. Fixed Dynamic Resolution List index out of bounds error.
  3. If the controller is disconnected, the controller pose mode will be incorrected after AP resumes.
  4. The RenderModel will not appear sometimes.
  5. Cannot retrieve the correct tracker role when changing the role in runtime.
  6. Fixed an issue where the Marker Setting option is duplicated in Wave XR Settings.
  7. Solve SDK hand tracking low performance and GC.Alloc() problems.

Unreal

Added

  1. Support UE5.1.
  2. Supports Marker feature (beta version). (See Unreal Marker)
  3. Added New Tracker IDs and Roles. (See Tracker)

Changes

  1. Re-architect DirectPreview. (See DirectPreview)

Bug fixes

  1. [UE5.0] Fixed “VRPreview rendered abnormal when enlarged New Viewport Resolution in Editor Preferences” issue. (Used in DirectPreview)
  2. Fixed “Color deviation occurred on StereoLayer if adding any oculus device in project settings Package for Oculus Mobile devices issue.

Known Issues

  1. [UE5.0] MSAA is not supported currently when Mobile Multi-View is enabled. The android application will crash when launched. Please set MSAA Sample Count as No MSAA or disable Mobile Multi-View in project settings to avoid this issue.
  2. [UE5.0/5.1] FoveatedRendering is ineffective when Mobile Multi-View is enabled. Please disable Mobile Multi-View to avoid this issue if you would like to use FoveatedRendering feature.
  3. [UE5.0] There is a chance where the texture set on a StereoLayer component is invalid when a level is loaded. This may lead to the disappearance of the StereoLayer as it cannot be rendered correctly. [Unreal Issue]
  4. [UE4.27] Alpha blending with translucent foreground objects is wrong for StereoLayers with the “Supports Depth” option enabled.
  5. [UE4.27] 32-bit builds may encounter an issue where abnormal black shadows are rendered and the application may crash when encountering this issue. Choose 64-bit to avoid this issue.

Release 5.2.1

SDK

Changes

  1. Improve controller, wrist tracker and hand pose alignment with passthrough image.
  2. Change the default mode of passthrough focus mode from SCALE to VIEW.
  3. Re-enable HUD showing when HUD setting tool installed and enabled.

Unity

Added

  1. Added legacy controller sample in XRSDK.
  2. Added Velocity and Angular Velocity APIs of Controller and Tracker.
  3. Added Wave SDK and Unity version information in AndroidManifest.xml.

Removed

  1. Removed Essence Input System scripts.

Bug fixes

  1. Fixed CommonUsages.trackingState is incorrect when a controller lost tracking.
  2. Fixed wvr_plugins_directpreview DllNotFoundException on some PCs.

Release 5.2.0

SDK

Added

  1. Add new parameter timestamp to function WVR_GetTrackerExtendedData. (See WVR Tracker)
  2. Add new API WVR_GetTrackerDeviceName for tracker device. (See WVR Tracker)
  3. Add new API WVR_SetPassthroughImageQuality. (See WVR System)
  4. Add new API WVR_SetPassthroughImageFocus. (See WVR System)
  5. Add new API WVR_SetFrameRate to set the render target frame rate.
  6. Add new API WVR_GetFrameRate to get the render target frame rate.
  7. Add new API WVR_GetAvailableFrameRates to get available frame rates.
  8. Add WVR_FoveationMode_Dynamic Foveation Mode. (See WVR_RenderFoveationMode)

Changes

  1. Watchdog enhancement on android main thread.
  2. System overlay rendering moves to OverlayCompositor process.
  3. Controller model/Hand model UX refinement in system overlay.

Known Issues

  1. Disable HUD showing when HUD setting tool installed and enabled.

Unity

Added

  1. New option to modify AndroidManifest.xml to enable Scene Perception.(See Unity Scene Perception)
  2. Integrates all AndroidManifest.xml related settings. (See Configure AndroidManifest.xml)
  3. New Tracker API: GetTrackerDeviceName and GetTrackerExtData with timestamp.
  4. Added API to change Passthrough image quality, and sample in passthrough test.
  5. Added API to change Passthrough image focus, and sample in passthrough test.
  6. Added APIs to set/get target frame rate, and sample in passthrough test.

Changes

  1. Default Controller Pose Mode is changed to RAW instead of PANEL. (See Controller Orientation)
  2. Supports new foveation mode - Dynamic mode. (See WVR_RenderFoveationMode)
  3. Re-architect DirectPreview. (See DirectPreview)

Unreal

Added

  1. Supports new foveation mode - Dynamic mode. (See FoveatedRendering)
  2. Supports APIs for passthrough performance adjustment. (See Passthrough Quality, Performance, and Aligment)
  3. Supports APIs for setting target frame rate. (See Target Frame Rate)
  4. Added Scene Perception Auto Run map to demonstrate dynamic update.
  5. Supports Palm condition of Custom Gesture. (See Hand).
  6. Adds new Tracker APIs: GetTrackerExtendedDataTimestamp and GetTrackerDeviceName in UWaveVRTrackerBPLibrary. (See Tracker).

Changes

  1. To use Scene Perception, allowing feature in WaveVR project settings is required. (See Unreal Scene Perception And Anchor)
  2. To use Scene Mesh, request permission is required. (See Unreal Scene Perception And Anchor)

Known Issues

  1. [UE5.0] MSAA is not supported currently when Mobile Multi-View is enabled. The android application will crash when launched. Please set MSAA Sample Count as No MSAA or disable Mobile Multi-View in project settings to avoid this issue.
  2. [UE5.0] FoveatedRendering is ineffective when Mobile Multi-View is enabled. Please disable Mobile Multi-View to avoid this issue if you would like to use FoveatedRendering feature.
  3. [UE5.0] There is a chance where the texture set on a StereoLayer component is invalid when a level is loaded. This may lead to the disappearance of the StereoLayer as it cannot be rendered correctly. [Unreal Issue]
  4. [UE4.27] Alpha blending with translucent foreground objects is wrong for StereoLayers with the “Supports Depth” option enabled.
  5. [UE4.27] 32-bit builds may encounter an issue where abnormal black shadows are rendered and the application may crash when encountering this issue. Choose 64-bit to avoid this issue.

Release 5.1.1

Note

This version has a known issue NOT working on Vive Focus(+) and Vive Flow. Please use the previous version(5.0.3 or former) on these Vive devices. We are fixing this compatibility issue and target to fix in next SDK release.

SDK

Changes

  1. Fixed passthrough color abnormal if app uses linear color space.
  2. Supported passthrough auto resume mechanism after app pause and resume.

Unity

Added

  1. Supports Input System with Eye Gaze and Wrist Tracker.

Changes

  1. Decoupled Unity focusLost state with Wave input focus state.

Unreal

Added

  1. Supports GetDeviceErrorState blueprint function for retriving specified device error such as lost tracking status. (See Overview)

Changes

  1. Scene Perception API refinement. (See Unreal Scene Perception And Anchor)

Known Issues

  1. [UE5.0] MSAA is not supported currently when Mobile Multi-View is enabled. The android application will crash when launched. Please set MSAA Sample Count as No MSAA or disable Mobile Multi-View in project settings to avoid this issue.
  2. [UE5.0] FoveatedRendering is ineffective when Mobile Multi-View is enabled. Please disable Mobile Multi-View to avoid this issue if you would like to use FoveatedRendering feature.
  3. [UE5.0] There is a chance where the texture set on a StereoLayer component is invalid when a level is loaded. This may lead to the disappearance of the StereoLayer as it cannot be rendered correctly. [Unreal Issue]
  4. [UE4.27] Alpha blending with translucent foreground objects is wrong for StereoLayers with the “Supports Depth” option enabled.
  5. [UE4.27] 32-bit builds may encounter an issue where abnormal black shadows are rendered and the application may crash when encountering this issue. Choose 64-bit to avoid this issue.

Release 5.1.0

Note

This version has a known issue NOT working on Vive Focus(+) and Vive Flow. Please use the previous version(5.0.3 or former) on these Vive devices. We are fixing this compatibility issue and target to fix in next SDK release.

SDK

Added

  1. Supports Scene SDK (beta version). (See WVR Scene)

Changes

  1. Improve the performance and quality for the system and SDK passthrough.
  2. Refine algorithm about auto mode in Timewarp Stabilized Mode.

Unity

Added

  1. Supports Scene Perception feature (beta version). (See Unity Scene Perception)
  2. Supports UnityEngine.XR.Eyes. (See Unity XR InputDevice - Eye Tracking)
  3. Supports Input System and Interaction Toolkit (Action-based) which needs Input System 1.4.3 or newer version.
  4. Added the InputDevice of Hand.

Changes

  1. Compositor Layers now support runtime layer size adjustments for both Quad and Cylinder layers.
  2. Fixed incorrect cylinder meshes generated by Compositor Layer.

Removed

  1. Removed in-Editor Underlay and Fallback Mesh generation. Underlay and Fallback Meshes will be generated during runtime instead.
  2. Removed the “Use XR Device” option from the Inspector of TrackerManager. (See Tracker)
  3. Removed the “Use XR Device” option from the Inspector of HandManager. (See UnityXR/UnityXRHand)

Unreal

Added

  1. Supports Scene Perception And Anchor feature (beta version). (See Unreal Scene Perception And Anchor)

Bug fixes

  1. [UE5.0] Fixed “Passthrough Underlay rendered abnormally.” issue when there is any Oculus devices added in “Package for Oculus Mobile devices” in project settings.

Known Issues

  1. [UE5.0] MSAA is not supported currently when Mobile Multi-View is enabled. The android application will crash when launched. Please set MSAA Sample Count as No MSAA or disable Mobile Multi-View in project settings to avoid this issue.
  2. [UE5.0] FoveatedRendering is ineffective when Mobile Multi-View is enabled. Please disable Mobile Multi-View to avoid this issue if you would like to use FoveatedRendering feature.
  3. [UE5.0] There is a chance where the texture set on a StereoLayer component is invalid when a level is loaded. This may lead to the disappearance of the StereoLayer as it cannot be rendered correctly. [Unreal Issue]
  4. [UE4.27] Alpha blending with translucent foreground objects is wrong for StereoLayers with the “Supports Depth” option enabled.
  5. [UE4.27] 32-bit builds may encounter an issue where abnormal black shadows are rendered and the application may crash when encountering this issue. Choose 64-bit to avoid this issue.
  6. Does not support IME in the current version.

Release 5.0.3

SDK

Added

  1. Supports EyeExpression SDK (See WVR Eye).

Changes

  1. Fixed Hand Gesture without init value when no update (ex. in controller mode)
  2. Fixed Lip Expression memory leak in WVR_GetLipExpData

Unity

Added

  1. Added Eye Expression feature. (See Eye Expression)

Removed

  1. Set the “Use XR Device” option to obsolete and will remove the option in next release.

Unreal

Added

  1. Added Eye Expression feature. (See Eye Expression)
  2. Added Passthrough Underlay feature. (See Passthrough Underlay)
  3. Support multiple trackers.

Bug fixes

  1. Fixed “The batttery icon did not show when battery is 100%” issue.
  2. Fixed “Supports Depth option is not supported in UE5” issue. (Multi-Layer)

Removed

  1. shouldGrantPermission is deprecated, please use isPermissionGranted instead, the return value of shouldGrantPermission is the negative of the return value of isPermissionGranted. (Runtime Permission)
  2. requestUsbPermission is deprecated and will be removed in the next version.

Known Issues

  1. [UE5.0] MSAA is not supported currently when Mobile Multi-View is enabled. The android application will crash when launched. Please set MSAA Sample Count as No MSAA or disable Mobile Multi-View in project settings to avoid this issue.
  2. [UE5.0] FoveatedRendering is ineffective when Mobile Multi-View is enabled. Please disable Mobile Multi-View to avoid this issue if you would like to use FoveatedRendering feature.
  3. [UE5.0] There is a chance where the texture set on a StereoLayer component is invalid when a level is loaded. This may lead to the disappearance of the StereoLayer as it cannot be rendered correctly. [Unreal Issue]
  4. [UE4.27] Alpha blending with translucent foreground objects is wrong for StereoLayers with the “Supports Depth” option enabled.
  5. [UE4.27] 32-bit builds may encounter an issue where abnormal black shadows are rendered and the application may crash when encountering this issue. Choose 64-bit to avoid this issue.
  6. Does not support IME in the current version.

Release 5.0.2

SDK

Added

  1. Supports EyeTracking SDK (See WVR Eye).
  2. Support Lip Expression SDK (See WVR Lip)
  3. Support wvr_notifydeviceinfo SDK, Let AP can inform Device event (See WVR Notify DeviceInfo).
  4. Support Tracker new APIs. Via these three APIs, AP can receive the information which will be sent from tracker device. (See Tracker Info Notification)
  5. Introduce shading rate (GL_QCOM_shading_rate if chipset support) in ATW warp render pipeline to enhance GPU performance.
  6. Add Projected Passthrough APIs (See WVR System)

Unity

Added

  1. Added Eye Tracking feature. (See Eye Tracking)
  2. Added Lip Expression feature. (See Lip Expression)
  3. Added Projected Passthrough APIs (See WVR System)

Unreal

Added

  1. Support UE5.0.
  2. Added Eye Tracking Gaze (RaycastEyeTracking) feature. (See Eye Tracking)
  3. Added Lip Expression feature. (See Lip Expression)
  4. Added Projected Passthrough feature. (See ProjectPassthroughComponent)
  5. Added option Position in InAppRecenter blueprint function to recenter position of tracking space only. (See Pose Manager)

Changes

  1. Calling Show Passthrough Overlay with DelaySubmit=true will hide indicators no matter what ShowIndicator is in previous version. Now the indicators will show if ShowIndicator is true. (See Passthrough Overlay)
  2. The ResetOrientationAndPosition implemented by InAppRecenter. (See Teleport)

Removed

  1. Removed deprecated APIs and blueprint class Assets. Such as WaveVR_Pawn/Controller Loader/WaveVR_ControllerInstanceManager/Wave_AdaptiveController/WaveVR_RenderModel/WaveVR_LinePointer/WaveVRInputModuleGaze/WaveVRInputModuleManager/Interaction_Interface.

Known Issues

  1. [UE5.0] Did not support MSAA for now. The android application will crash while launching. Please set MSAA Sample Count as No MSAA in project settings to avoid this issue.
  2. [UE5.0] FoveatedRendering will take no effect when Mobile Multi-View is enabled. Please disable Mobile Multi-View to avoid this issue if you would like to use FoveatedRendering feature.
  3. [UE5.0] The Multi-Layer “Supports Depth” option is not supported in UE5.
  4. [UE4.26/27] Alpha blending with translucent foreground objects is wrong for StereoLayers with the “Supports Depth” option enabled.
  5. [UE4.26/27] 32-bit builds may encounter an issue where abnormal black shadows are rendered and the application may crash when encountering this issue. Choose 64-bit to avoid this issue.
  6. Does not support IME in the current version.

Release 4.5.0

SDK

Added

  1. Add WVR_SetPassthroughOverlayAlpha which allows to set passthrough overlay alpha value (See WVR_SetPassthroughOverlayAlpha).
  2. Supports feature of using hand and controller simultaneously (Early Access) (See WVR Hand).
  3. Supports new device state to know user put down or picked up controller (See WVR_IsDeviceTableStatic).
  4. Supports compatibility checker tool (See Compatibility Guide).

Changes

  1. Change API bool WVR_ShowPassthroughOverlay(bool show, bool delaySubmit = false) to bool WVR_ShowPassthroughOverlay(bool show, bool delaySubmit = false, bool showIndicator = false).

Removed

  1. Removed WVR_EnableAutoPassthrough API.

Unity

Added

  1. Supports compatibility checker tool (See Compatibility Guide).
  2. Added WVR_SetPassthroughOverlayAlpha which allows to set passthrough overlay alpha value.
  3. Supports Simultaneous Interaction (Early Access) (See Interaction).

Changes

  1. Change API bool WVR_ShowPassthroughOverlay(bool show, bool delaySubmit = false) to bool WVR_ShowPassthroughOverlay(bool show, bool delaySubmit = false, bool showIndicator = false).

Unreal

Added

  1. Supports Custom Gesture (See Hand ActorComponent).
  2. Supports Simultaneous Interaction (Early Access) (See Interaction).
  3. Supports Passthrough Overlay (See Passthrough Overlay).
  4. Supports compatibility checker tool (See Compatibility Guide).

Known Issues

  1. Does not support IME in the current version.
  2. [UE4.26/27] Alpha blending with translucent foreground objects is wrong for StereoLayers with the “Supports Depth” option enabled.
  3. [UE4.26/27] 32-bit builds may encounter an issue where abnormal black shadows are rendered and the application may crash when encountering this issue. Choose 64-bit to avoid this issue.
  4. [UE4.25] Build with Android Target 29 and 64bit will crash because ensure will cause crash. [Unreal Issue]
  5. [UE4.25] In 32-bit shipping builds, using Stereo Layers may cause the application to crash.
  6. [UE4.24/25] There is an issue where the background color of UMG may not be rendered properly in UE4.24 and UE4.25 due to an OpenGL ES libraries conflict. We strongly recommend you to use UE4.26 instead. According to the Release Notes of UE4.26, the OpenGL ES implementation has already been cleaned up based it on the ES3.1 spec. [Unreal Issue]
  7. [UE4.24/25] On devices that do not support Multi-Layers, content rendered by DefaultStereoLayers is wrong in shipping builds. [Unreal Issue]
  8. [UE4.24] MotionController is deprecated. Please replace them with our Input Blueprint. For more details, see Controller Buttons.
  9. [UE4.24] Crash while open level many times in shipping build. The workaround for this is to select Source Type of Light in SkyLight as SLS_Specified_Cubemap and avoid selecting SLS_Capture_Scene.

Release 4.4.0

SDK

Added

  1. Separate the flags (WVR_RenderConfig_Initialize_FadeOut, WVR_RenderConfig_Initialize_UMC, WVR_RenderConfig_Initialize_PMC) of WVR_RenderConfig to improve GPU performance (See WVR_RenderInit).
  2. Introduce Frame Sharpness Enhancement (FSE, See Frame Sharpness Enhancement(FSE)) for content layer only.
  3. Supply hand wrist pose with linear velocity and angular velocity.
  4. Supports prediction feature of function WVR_GetTrackerPoseState.

Bug fixes

  1. Fixed device error state mistake while multiple errors happened.

Unity

Added

  1. Support the Hand Gesture “Yeah”.
  2. Support the wrist linear/angular velocity.
  3. Added Frame Sharpness Enhancement feature (See Frame Sharpness Enhancement).
  4. DirectPreview added controller haptics and hand tracking supports.

Changes

  1. Added a project setting for Fade-Out. Disable it for better GPU performance if you do not use Fade-Out Effect feature. Because this setting is disabled by default, if you are using Fade-Out Effect and want to upgrade from older Wave VR version, please remember to select it manually or the Fade-Out will take no effect.

Bug fixes

  1. Fixed controller model has black texture.

Unreal

Added

  1. Supports the Hand Gesture “Yeah”.
  2. Supports the wrist linear/angular velocity.
  3. [UE4.26/27] Added Frame Sharpness Enhancement feature (See Frame Sharpness Enhancement).

Changes

  1. [UE4.26/27] Added a project setting for Fade-Out. Disable it for better GPU performance if you do not use Fade-Out Effect feature. Because this setting is disabled by default, if you are using Fade-Out Effect and want to upgrade from older Wave VR version, please remember to select it manually or the Fade-Out will take no effect (See FadeOut Effect).

Bug fixes

  1. Fixed “Crash when the battery level is changing” issue.
  2. [UE4.26/27] Fixed an issue where using StereoLayer will crash the app after a few minutes.

Known Issues

  1. Does not support IME in the current version.
  2. [UE4.26/27] Alpha blending with translucent foreground objects is wrong for StereoLayers with the “Supports Depth” option enabled.
  3. [UE4.26/27] 32-bit builds may encounter an issue where abnormal black shadows are rendered and the application may crash when encountering this issue. Choose 64-bit to avoid this issue.
  4. [UE4.25] Build with Android Target 29 and 64bit will crash because ensure will cause crash. [Unreal Issue]
  5. [UE4.25] In 32-bit shipping builds, using Stereo Layers may cause the application to crash.
  6. [UE4.24/25] There is an issue where the background color of UMG may not be rendered properly in UE4.24 and UE4.25 due to an OpenGL ES libraries conflict. We strongly recommend you to use UE4.26 instead. According to the Release Notes of UE4.26, the OpenGL ES implementation has already been cleaned up based it on the ES3.1 spec. [Unreal Issue]
  7. [UE4.24/25] On devices that do not support Multi-Layers, content rendered by DefaultStereoLayers is wrong in shipping builds. [Unreal Issue]
  8. [UE4.24] MotionController is deprecated. Please replace them with our Input Blueprint. For more details, see Controller Buttons.
  9. [UE4.24] Crash while open level many times in shipping build. The workaround for this is to select Source Type of Light in SkyLight as SLS_Specified_Cubemap and avoid selecting SLS_Capture_Scene.

Release 4.3.0

SDK

Added

  1. Supports Tracker SDK (See WVR Tracker).
  2. Show virtual wall boundary effect when using hand tracking as like using controller.
  3. Draw the different appearance of hand according to the hand stability (WVR_IsEnhanceHandStable).
  4. Adds new APIs WVR_EnhanceHandStable() and WVR_IsEnhanceHandStable(), also the correspondent event WVR_EventType_Hand_EnhanceStable to notify if Hand Stability is enhanced with WAVE Wrist Tracker.
  5. Supports Hand Gesture Palm Pinch. Right Hand Palm Pinch is reserved for System and Left Hand Palm Pinch is for Content Developers, See Palm_Pinch.

Bug fixes

  1. Fixed “There is slight blue edges are on the right and bottom of the display.” issue.
  2. Fixed “The partial texture layout can’t work in multi-layer and the API WVR_SubmitFrameLayers.” issue.
  3. Fixed the ray is focused on wrong controller when only one controller connected and the role is left.

Unity

Added

  1. Supports gestures in Hand Tracking.
  2. Supports Tracker component.
  3. Provides Hand and Tracker XR InputDevices.
  4. Added a new component “CompositorLayerUICanvas” for rendering UI Canvases with Compositor Layers.

Changes

  1. Rename the term “Inverse” to “Palm_Pinch” in enum WVR_HandGestureType in wvr.cs.(Native package)

Removed

  1. Removed enum WVR_DeviceErrorState from wvr.cs. (Native package)

Bug fixes

  1. Fixed Direct Preview stability issues.

Unreal

Added

  1. Supports Gestures in Hand Tracking.
  2. Supports Tracker component.
  3. Added a Sample and Actor Template that demonstrates how to render Widgets with Stereolayers.
  4. [UE4.26 Only] Added StereoLayer Depth Support.

Bug fixes

  1. Fixed “Direct Preview picture in HMD will flicker while choosing Wi-Fi type” issue.
  2. Fixed Direct Preview stability issues.
  3. Fixed an issue regarding the initialization process of StereoLayers.

Known Issues

  1. [UE4.24/25] There is an issue where the background color of UMG may not be rendered properly in UE4.24 and UE4.25 due to an OpenGL ES libraries conflict. We strongly recommend you to use UE4.26 instead. According to the Release Notes of UE4.26, the OpenGL ES implementation has already been cleaned up based it on the ES3.1 spec. [Unreal Issue]
  2. [UE4.25] Build with Android Target 29 and 64bit will crash because ensure will cause crash. [Unreal Issue]
  3. Does not support IME in the current version.
  4. [UE4.24/25] On devices that do not support Multi-Layers, content rendered by DefaultStereoLayers is wrong in shipping builds. [Unreal Issue]
  5. [UE4.26] Alpha blending with translucent foreground objects is wrong for StereoLayers with the “Supports Depth” option enabled.
  6. [UE4.25] In 32-bit shipping builds, using Stereo Layers may cause the application to crash.
  7. [UE4.24] MotionController is deprecated. Please replace them with our Input Blueprint. For more details, see Controller Buttons.
  8. [UE4.24] Crash while open level many times in shipping build. The workaround for this is to select Source Type of Light in SkyLight as SLS_Specified_Cubemap and avoid selecting SLS_Capture_Scene.
  9. [UE4.26] 32-bit builds may encounter an issue where abnormal black shadows are rendered and the application may crash when encountering this issue. Choose 64-bit to avoid this issue.

Release 4.2.0

SDK

Added

  1. Light weight render pipeline for performance enhancement.
  2. Support controller center alignment function for 3DoF controller device case.
  3. Added hand hold motion. There are two hand poses now: Pinch & Hold. Each hand has its role and you can retrieve the holding object type while holding.
  4. Wave SDK API Level set to 8 see Wave VR Version List.

Bug fixes

  1. Fixed possible stability issue while suspend and resume.
  2. Fix the casting/recording icon becomes narrower.
  3. Decreases black border when surrounding passthrough showing.
  4. Fix hand ray will jitter when passthrougth showing.
  5. Fix “When apply WVR_SetOverfillRatio with higher ratio, the more decline of quality on overlay” issue.
  6. Content hands hide while Overlay hands show.

Known Issues

  1. The partial texture layout can’t work in multi-layer and the API WVR_SubmitFrameLayers.
  2. There is slight blue edges are on the right and bottom of the display.

Unity

Added

  1. Added Multi-Layer Auto Fallback.
  2. Added tracker interface.
  3. Added hand hold motion. There are two hand poses now: Pinch & Hold. Each hand has its role and you can retrieve the holding object type while holding.

Changes

  1. Refine the static gesture APIs.
  2. Reduce the response time when switching from hand to controller model.

Unreal

Added

  1. Added outline effects of buttons.
  2. Added tracker interface.
  3. Added hand hold motion. There are two hand poses now: Pinch & Hold. Each hand has its role and you can retrieve the holding object type while holding.

Changes

  1. Refine the name of device keys to follow the naming rule of UE4.
  2. Apply hand scale to model. The hand model will adjust to fit the user’s hand.
  3. Refine controller’s animation.
  4. Refine the project settings of Direct Preview.
  5. Rename the plugin name “WaveVR Plugin” with “Wave VR”.

Bug fixes

  1. Fixed “Controller button effects/animations were not working after resume” issue.
  2. Fixed “The controller beams will keep switching when pressing two trigger buttons concurrently” issue.
  3. Fixed “Device button states were not correct after using the quick menu” issude.
  4. Fixed “Build failed while using Visual Studio 2019” issue.

Known Issues

  1. [UE4.25] Build with Android Target 29 and 64bit will crash because ensure will cause crash. [Issue of Unreal]
  2. Does not support IME in the current version.
  3. [UE4.24/25] On devices that do not support Multi-Layers, content rendered by DefaultStereoLayers is wrong in shipping builds. [Unreal Issue]
  4. [UE4.25] In 32-bit shipping builds, using Stereo Layers may cause the application to crash.
  5. [UE4.24] MotionController is deprecated. Please replace them with our Input Blueprint. For more details, see Controller Buttons.
  6. [UE4.24] Crash while open level many times in shipping build. The workaround for this is to select Source Type of Light in SkyLight as SLS_Specified_Cubemap and avoid selecting SLS_Capture_Scene.
  7. [UE4.26] 32-bit builds may encounter an issue where abnormal black shadows are rendered and the application may crash when encountering this issue. Choose 64-bit to avoid this issue.

Release 4.1.1

r.3.2

Unity

Added

  1. Added static hand gesture support.

r.3.1

SDK

Added

  1. Controller Animation API.
  2. Hand Model API.
  3. Add 2 new WVR event (WVR_EventType_RenderingToBePaused, WVR_EventType_RenderingToBeResumed) to notify the developer to handle or not in their game logic.
  4. Support more Passthrough feature (WVR_ShowPassthroughOverlay, WVR_ShowPassthroughUnderlay) for generic apps.
  5. Introduce the 2 stage pipeline in ATW. Improve render pipeline to balance overall performance/CAC/quality, especially while there are multi-layers shown.

Bug fixes

  1. Fix “UMC feature (experimental) disable while PTW is off” issue.

Known Issues

  1. The 2 stage pipeline will not be applied if running on device is based on 4.1.0 or older runtime.
  2. The scale of WVR_HandJointData_t is always fixed to 1, but not custmizable or dynamic, until next runtime update.
  3. When apply WVR_SetOverfillRatio with higher ratio, the more decline of quality on overlay.
  4. The partial texture layout can’t work in multi-layer and the API WVR_SubmitFrameLayers.
  5. There is slight blue edges are on the right and bottom of the display.

Unity

Added

  1. Supports WVR_TriggerVibrationScale.
  2. Added controller animation.
  3. Added rendering on/off events.
  4. Added scale of hand model.

Unreal

Added

  1. Added TriggerVibrationScale.
  2. Added controller animation.
  3. Added rendering on/off events.
  4. Added scale of hand model.

Known Issues

  1. [UE4.25] Build with Android Target 29 and 64bit will crash because ensure will cause crash. [Issue of Unreal]
  2. Does not support IME in the current version.
  3. [UE4.24/25] On devices that do not support Multi-Layers, content rendered by DefaultStereoLayers is wrong in shipping builds. [Unreal Issue]
  4. [UE4.25] In 32-bit shipping builds, using Stereo Layers may cause the application to crash.
  5. [UE4.24] MotionController is deprecated. Please replace them with our Input Blueprint. For more details, see Controller Buttons.
  6. [UE4.24] Crash while open level many times in shipping build. The workaround for this is to select Source Type of Light in SkyLight as SLS_Specified_Cubemap and avoid selecting SLS_Capture_Scene.
  7. [UE4.26] 32-bit builds may encounter an issue where abnormal black shadows are rendered and the application may crash when encountering this issue. Choose 64-bit to avoid this issue.

Release 4.1.0

SDK

Added

  1. Added Hand Tracking/Interaction support.
  2. Added new API WVR_TriggerVibrationScale.

Changes

  1. Support Arena Changed event on app side.

Bug fixes

  1. Fixed “Screenshot/Recording/Casting happens black rarely” issue.

Known Issues

  1. When apply WVR_SetOverfillRatio with higher ratio, the more decline of quality on overlay.
  2. The partial texture layout can’t work in multi-layer and the API WVR_SubmitFrameLayers.

Unity

Added

  1. Added new menu item for enabling hand tracking feature.

Unreal

Added

  1. Added new project setting “Enable Hand Tracking”.

Known Issues

  1. [UE4.25] Build with Android Target 29 and 64bit will crash because ensure will cause crash. [Issue of Unreal]
  2. Does not support IME in the current version.
  3. [UE4.24/25] On devices that do not support Multi-Layers, content rendered by DefaultStereoLayers is wrong in shipping builds. [Unreal Issue]
  4. [UE4.25] In 32-bit shipping builds, using Stereo Layers may cause the application to crash.
  5. [UE4.24] MotionController is deprecated. Please replace them with our Input Blueprint. For more details, see Controller Buttons.
  6. [UE4.24] Crash while open level many times in shipping build. The workaround for this is to select Source Type of Light in SkyLight as SLS_Specified_Cubemap and avoid selecting SLS_Capture_Scene.
  7. [UE4.26] 32-bit builds may encounter an issue where abnormal black shadows are rendered and the application may crash when encountering this issue. Choose 64-bit to avoid this issue.

Release 4.0.0

r.39

SDK

Changes

  1. Reduced passthrough latency.

Bug fixes

  1. Fixed an edge case where boundary of virtual wall disappears.

Known Issues

  1. When apply WVR_SetOverfillRatio with higher ratio, the more decline of quality on overlay.
  2. The partial texture layout can’t work in multi-layer and the API WVR_SubmitFrameLayers.

Unity

Removed

  1. Removed function wrappers of deprecated APIs.

Bug fixes

  1. Fixed Direct Preview server installation failure.
  2. Fixed Occlusion Separation Sphere issue.
  3. Fixed Multi-Layer Preview null reference issue.

Unreal Engine

Bug fixes

  1. Fixed Multi-Layer crash issue on UE 4.25 (32-bit, Shipping Build).

r.28

SDK

Added

  1. New feature Adaptive Quality 3.0 which can be configured in Unity/Unreal.
  2. New feature multi-layer and the new API WVR_SubmitFrameLayers.
  3. New feature TimeWarp Stabilization Mode and the new API WVR_EnableTimeWarpStabilizedMode.
  4. New feature Performance HUD 2.0 and the new setting tool.
  5. New API WVR_GetPredictedDisplayTime.
  6. Added new InputId_Alias1_X, InputId_Alias1_Y and InputId_Alias1_Parking in WVR_InputId definition.
  7. Add WVR_EventType_InputDevMappingChanged in WVR_EventType when input device mapping changed.
  8. Added three new APIs (WVR_SetControllerPoseMode, WVR_GetControllerPoseMode, WVR_GetControllerPoseModeOffset) and Controller configuration (Controller Pose Mode) for Controller Orientation feature.
  9. Add new event WVR_EventType_ArenaChanged to inform play area range was changed

Removed

  1. Removed WVR_SetArena API.
  2. Removed WVR_SetInteractionMode API.
  3. Removed Camera SDK.

Known Issues

  1. When apply WVR_SetOverfillRatio with higher ratio, the more decline of quality on overlay.
  2. The partial texture layout can’t work in multi-layer and the API WVR_SubmitFrameLayers.

Unity

Changes

  1. Change the dependency in the development environment, ap will not encounter build problem when ap and wave sdk use the same library with different version.
  2. Refine the Interaction Mode related features.
  3. Provides the XR plugin pinch origin/direction temporary achievement.
  4. Enable Adaptive Quality Mode.
  5. ControllerTips Improvement.
  6. Added Bundle Preview for Unity XR SDK.

Added

  1. [Important] Added Controller Orientation feature. Pose mode is set to panel oriented mode by default, and is different from the raw pose provided previously.
  2. Added Direct Preview support to XR Plugin.
  3. Added the AMC which is an experimental feature. Wave provide the Adaptive Motion Compensation to help present smoothly within low FPS condition.
  4. Supports the com.unity.inputsystem.
  5. Added Wave Loader feature.
  6. Added DynamicFR sample and documentation to demonstrate a special use case that combines FoveatedRendering with HMD motion, which can help balance quality and performance.
  7. Added feature TimeWarpStabilizedMode.
  8. Support the Parking button.
  9. Added Multi-Layer support (CompositorLayer feature pack).

Removed

  1. Removed WVR_SetInteractionMode API.
  2. Removed Camera Texture APIs and removed related samples.

Known Issues

  1. The device list retrieved from InputDevices.GetDevices may be incorrect when a device disconnected. Please use CommonUsages.isTracked instead to check a device’s connection.
  2. Cylinder shaped Multi-Layer have an aliasing effect when camera is located inside the arc.

Unreal Engine

Added

  1. [Important] Added Controller Orientation feature. Pose mode is set to panel oriented mode by default, and is different from the raw pose provided previously.
  2. [Important] Added WaveVRInputManager in C++ and Blueprint.
  3. Added feature TimeWarpStabilizedMode.
  4. Support RenderDoc
  5. Support the Parking button.
  6. Support Pixel Density. Please use it just for initial settings. Don’t change it many times or you might encounter crash due to memory leak.
  7. Added Wave Loader feature.
  8. Added Stereo Layer support through Multi-Layer.
  9. Added WaveVRControllerModel.
  10. Added AMC feature (experimental). Wave provide the Adaptive Motion Compensation to help present smoothly within low FPS condition.
  11. Added DynamicFR sample and documentation to demonstrate a special use case that combines FoveatedRendering with HMD motion, which can help balance quality and performance.
  12. Support Android SDK API level 29.
  13. DirectPreview support multiple devices’ render model.
  14. Added UE 4.26 support.

Changes

  1. Enable Adaptive Quality Mode. FoveatedRendering will be overridden if AutoFoveation is set.
  2. Declare AdaptiveController, AdaptiveControllerLoader, WaveVRJson as Deprecated.
  3. Debug canvas can be displayed when Mobile Multi-View is enabled with the device which support Multi-Layer.
  4. Adjust shading model to unlit for button effect.
  5. Apply IWYU which will increase build speed.
  6. Set the default interaction button of WaveVR_Pawn to Touchpad + Trigger + Thumbstick.
  7. Rename input modules.
    1. WaveVRGazeInput -> WaveVRGazePointer
    2. WaveVRControllerInput -> WaveVRControllerPointer

Removed

  1. [Important] Removed the WVR_SetInteractionMode function.
  2. Removed Camera Texture APIs and removed related samples.

Bug fixes

  1. Fixed “DoF of Controller will show 3Dof while connecting 6Dof device” issue.
  2. Fixed “The debug canvas shows in upside down manner” issue.

Known Issues

  1. [UE4.25] Build with Android Target 29 and 64bit will crash because ensure will cause crash. [Issue of Unreal]
  2. Does not support IME in the current version.
  3. [UE4.24/25] On devices that do not support Multi-Layers, content rendered by DefaultStereoLayers is wrong in shipping builds. [Unreal Issue]
  4. [UE4.25] In 32-bit shipping builds, using Stereo Layers may cause the application to crash.
  5. [UE4.24] MotionController is deprecated. Please replace them with our Input Blueprint. For more details, see Controller Buttons.
  6. [UE4.24] Crash while open level many times in shipping build. The workaround for this is to select Source Type of Light in SkyLight as SLS_Specified_Cubemap and avoid selecting SLS_Capture_Scene.
  7. [UE4.26] 32-bit builds may encounter an issue where abnormal black shadows are rendered and the application may crash when encountering this issue. Choose 64-bit to avoid this issue.

Release 3.2.0

SDK

Changes

  1. The feature Adaptive Quality and Foveated Rendering are enabled by default.
  2. API WVR_EnableAdaptiveQuality interface changed. A new optional parameter is added for setting the strategies.
  3. Renamed WVR_InputId_9 alias mapping from WVR_InputId_Alias1_Digital_Trigger to WVR_InputId_Alias1_Bumper.
  4. Import library method changes to import repository, To see details Import repository

Added

  1. Added new InputId_Alias1_A and InputId_Alias1_B in WVR_InputId definition.
  2. Add hand tracking and gesture API. (Next release version may change API, if change API developer need to rebuild AP and Hand DeviceService.)
  3. A new strategy Auto-Foveation of Adaptive Quality is added. please check WVR_EnableAdaptiveQuality .
  4. Deprected WVR_RenderFoveation , please use new API WVR_RenderFoveationMode instead.
  5. Add WVR_IsRenderFoveationDefaultOn , WVR_IsRenderFoveationEnabled , WVR_SetFoveationConfig and WVR_GetFoveationDefaultConfig for flexible usage.
  6. Add new API WVR Supported Features to get device supported features.
  7. Add Pass-Through feature by providing new APIs WVR_ShowPassthroughOverlay and WVR_EnableAutoPassthrough . Be sure to check first if this platform support Pass-Through by calling WVR Supported Features .
  8. The Overlay supports right and left eye with different Overlay contents.
  9. The native developer can use self-created context and SurfaceView by using WVR_GraphicsParams_t in WVR_RenderInit and hookNativeSurface in VRActivity .
  10. The Native developer can get current used controller model. Please check wvr_ctrller_render_model header WVR Controller Model .

Removed

  1. Remove unused enmeration of WVR_AppType_NonVRContent.

Bug fixes

  1. Fix 6DoF controller auto role change issue that application does controller role change without check controllers poses ready. Before do auto role change, check both hmd, two controllers are connected and supported 6DoF.
  2. Fix the bug that android camera image doesn’t handle the image has stride part.
  3. Fix memory leakage on WVR_GetInputButtonState, WVR_GetInputTouchState, WVR_GetInputAnalogAxis and WVR_GetInputDeviceState.
  4. Fix WVR_SetInputRequest failed in Arabic and Hindi.

Pluginkit SDK

Changes

  1. Import library method changes to import repository, To see details Import repository

Added

  1. Added new InputId_Alias1_A and InputId_Alias1_B in WVR_InputId definition for controller device.
  2. Added thumbstick features, only the pluginkit SDK which version is equal or greater than 3.2.0 supports the thumbsticks.
  3. Added swipe motion thresholds “maxSwipePoint”, “minSwipeLength” and “edgeTriggerArea” for two-dimensional components.
  4. Added InputId_Alias1_Bumper definition

Removed

  1. Remove three classes “VRCameraInterface”, “VRCameraData” and “VRCameraHandle” related to camera pluginkit implementation.
  2. Remove class “ControllerRoleListener” and controller role change related function in ControllerDevice.
  3. Remove InputId_Alias1_Digital_Trigger definition

Component SDK

Added

  1. Add hand tracker and hand gesture related classes for hand detection developer. (Next release version may change API, if change API developer need to rebuild AP and Hand DeviceService.)

Unity

Added

  1. Added Gesture feature.
  2. Added new API WVR_GetSupportedFeatures.
  3. Added new Enum WVR_SupportedFeature.
  4. Added new API “GetVectorFromGL” in WaveVR_Utils.cs.
  5. Added “V3Velocity” and “V3AngularVelocity” for the Unity coordinate information.
  6. Added supporting for bumper key.
  7. Added WaveVR_AutoLayout feature.
  8. Added Bundle Preview feature.
  9. Added Shader Stripping feature.
  10. Added Unity XR Plug-in Framework support.

Changes

  1. Changed the behavior of connection status & pose state update. To handle the duplicated events once.
  2. [Important] Replace all “internal” type variables with “private” type in WaveVR_Controller.cs.
    Only the “public” type variable should be accessed from static class reference. Including below parameters: - _connected - pose - rtPose - vel - aVel - axis - state - pre_state
  3. Improve CameraTexture performance.
  4. Added resolution scale lower bound to WaveVR_DynamicResolution
  5. WaveVR_FoveatedRendering component in WaveVR Prefab is now enabled by default

Bug Fixes

  1. Can show both controller beams when EnableSingleBeam is false.
  2. Gaze can focus on Dropdown List and multi-layer GUI now.
  3. InputModuleManager will stop working while losing the system focus now.

Removed

  1. Set the “velocity” and “AngularVelocity” variables of WaveVR_Controller.cs to obsolete.
  2. Removed supporting for DigitalTrigger Key.
  3. WaveVR_ButtonList will be deprecated. Please use WaveVR_ButtonManager instead.

Known Issues

  1. Gaze cannot interact with the ScrollView UGUI. This problem will be fixed in next release.
  2. Keep touching the Touchpad or Trigger button. Click the button to reload/change current scene and keep touching the button after click. The button will NOT have the touch state.
  3. Sometime the auto-role-change does NOT become effective. After reconnecting both Chirps in the situation, the beam will be along with a different controller.

Unreal Engine

Added

  1. Added LateUpdate HMD feature. It saves more usable time in both game and render thread to use.
  2. Added Gesture feature.
  3. Added Direct Preview feature and substitute it for InstantPlay.
  4. Added Gaze enter and exit interaction interface events for 3D objects.
  5. Added tooltips for blueprint APIs.
  6. Added blueprint function - SetParameters.

Changes

  1. Enable AdaptiveQuality by default in WaveVR project settings.
  2. Refine RenderMask’s initial flow.
  3. RenderMask requires LateUpdate to be disabled to work.
  4. Refine the Gesture.
    1. Do not update the bone location when the bone pose is invalid and remove redundant blueprints.
    2. Refine the Gesture interface for core change.
  5. [Important] Removed Digital Trigger key. Added thumbstick and Bumper key. Bumper key (Finch controller only) can be enabled in ControllerLoader.
  6. Attach spawned controller model to ControllerLoader’s parent and update relative pose.
  7. Support Foveation Mode and config Default mode by default in WaveVR project settings.
  8. WaveVR now works as a project plugin (WVR is not a third-party module anymore).
  9. Refine the Render Mask enable and disable options.
  10. Complete Adaptive Quality features, SendQualityEvent and AutoFoveation.

Removed

  1. Removed deprecated (and already not used) AdaptiveControllerBP.
  2. [Important] Removed all APIs in the category “WaveVR|Coordinate|Unity”.

Bug fixes

  1. Fixed “[PIE] The InputModuleManager cannot work when OverrideSystemDefault has not been selected” issue.
  2. Fixed “Head pose will recenter when the current app is forcibly closed by long pressing the home button” issue.
  3. Fixed “The battery status shown is abnormal when the app is in left-handed mode” issue.
  4. Fixed “The app will hang at the beginning of launching” issue.

Known Issues

  1. Does not support IME in the current version.
  2. [UE4.24] MotionController is deprecated. Please replace them with our Input Blueprint. For details, see Controller Buttons.
  3. [UE4.24] Crash while open level many times in shipping build. The workaround for this is to select Source Type of Light in SkyLight as SLS_Specified_Cubemap and avoid selecting SLS_Capture_Scene.

Update 1

Unity

Added

  1. Added Button A/B/X/Y support.
  2. Added CR model assets and default load when render model is CR.
  3. (XR Plugin) Mapping Wave Grip Axis to Unity input feature “grip”.
  4. (XR Plugin) Added Custom Android Manifest feature.

Bug fixes

  1. Fixed “Might see controller juddering even when the rendering FPS is at target framerate” issue.

Unreal Engine

Added

  1. Added Button A/B/X/Y support.
  2. Added CR model assets and default load when render model is CR.

Bug fixes

  1. Fixed “Might see controller juddering even when the rendering FPS is at target framerate” issue.

Release 3.1.6

Unity

Changes

  1. Update dpServer to 0.4.5.3 due to expiration date.

Bug fixes

  1. Direct Preview failed to open.
  2. Extension Method Collision with SteamVR.
  3. Avoid potential null reference and GC.

Unreal

Bug fixes

  1. Fixed “RenderMask cause crash” issue.

Known Issues

  1. Do not support IME in current version.

Release 3.1.4

SDK

Changes

  1. Improve the performance of system recording for device maker.

Bug fixes

  1. Fix bugs of the Adaptive Quality.
  2. Fix bugs for input device mapping failure when input device not support volum up/down. Need to update wave_server.apk to solve this issue.
  3. Fix bugs which may result in present right eye image to both eyes when applying partial texture and present with different left/right eye uv values.

Known Issues

Pluginkit SDK

Bug fixes

  1. Enhance device config data (disableVirtualDpad) let this configuration data can work if didn’t use setVirtualDpadSupport to enable disableVirtualDpad.

Unity

Changes

  1. Remove emulation-switching in DirectPreview options.
  2. Not to export log to file of DirectPreview Server.
  3. Set default Auto Graphics API false and Graphics Apis OpenGLES3.
  4. Improve DirectPreview stability.

Bug fixes

  1. Fixed foveation function not working in IL2CPP build.

Unreal

Bug fixes

  1. Fixed “The battery did not show when controller is in left-handed mode” issue.
  2. Fixed “Z-Fighting problem” by following the NearClippingPlane value in Project Settings.
  3. Fixed Unreal presenting the right eye image to both eyes if disable MultiView feature.

Known Issues

  1. Do not support IME in current version.

Release 3.1.1

SDK

Changes

  1. Renamed SDK API from WVR_TriggerVibrator to WVR_TriggerVibration.
  2. Simplify WVR_RenderConfig enum which contains WVR_RenderConfig_Default, WVR_RenderConfig_Disable_SingleBuffer, WVR_RenderConfig_Disable_Reprojection and WVR_RenderConfig_sRGB.
  3. WVR_GetSyncPose will no longer be blocked by vsync, instead, WVR_SubmitFrame will not return until the next vsync middle is coming.
  4. Fixed the issue that controller icons would be on the wrong side when the controller devices turned on.

Added

  1. Added new SDK API WVR_SetPosePredictEnabled for APP to have predicted HMD’s position, and Controllers’ rotation & position. HMD’s rotation prediction is always on. Note Pose Prediction.
  2. Added new InputId_Alias1_Back in WVR_InputId definition for controller device.
  3. Added How to support 64-bit VR APP and 64 bit Support Limitation.
  4. Add WVR_SubmitExtend_PartialTexture in WVR_SubmitExtend enum and WVR_TextureLayout_t in WVR_TextureParams_t. It can specify the region of submitting texture.
  5. Support different kind of texture target by adding WVR_TextureTarget_2D_DUAL, WVR_TextureTarget_2D_EXT_DUAL and WVR_TextureTarget_VULKAN in WVR_TextureTarget enum.
  6. Add AdaptiveQuality 1.0. It can change CPU and GPU clock dynamically by calling WVR_EnableAdaptiveQuality . Using WVR_IsAdaptiveQualityEnabled to check if platform supports.
  7. Add WVR_EventType_RecommendedQuality_Lower and WVR_EventType_RecommendedQuality_Higher in WVR_EventType. They are used to inform developer to change quality when AdaptiveQuality enabled.
  8. Support submitting VkImage. Please check wvr_vulkan header.
  9. Disable watchdog when debug build.
  10. Release performance HUD tool. Performance Profiling.
  11. Support fade-out current Activity. Fade current Activity.
  12. Release performance HUD2 tool. Performance Profiling.

Bug fixes

  1. Fixed app crashed issue when app invokes onDestroy() more than once.
  2. Fixed bug and return error when starting camera before App resuming.
  3. Fixed Unity 2018.3 and later may crash because of allowing EGL_KHR_no_config_context.

Known Issues

  1. Performance HUD tool does not support Unreal in this version.

Pluginkit SDK

Added

  1. Added new Config supportedPositionPrediction. Only if true, WVR_SetPosePredictEnabled is able to predict for that device over position.
  2. Added new Config supportedRotationPrediction. Only if true, WVR_SetPosePredictEnabled is able to predict for that device over rotation.
  3. Added new InputId_Alias1_Back in WVR_InputId definition.
  4. Added How to support 64-bit VR Device and 64 bit Support Limitation.
  5. Added new Config “maxSwipePoints”, “minSwipeLength” as the threshold to trigger swipe events.

Unity

Added

  1. Support Co-existence with DayDream and Oculus.
  2. Added Direct Preview feature(Alpha version).
  3. Added Customized AndroidManifest.xml folder at “Assets/WaveVR/Platform/Android/Customize/”.
  4. WaveVR_PermissionManager added new api for requestUsbPermission.
  5. WaveVR_Utils added GetControllerName API.
  6. Allow developer to adjust resolution in runtime.
  7. [Important] Added Scripts/EventSystem/WaveVR_GazeInputModule.cs.
  8. Added 64 bit Support.
  9. Added AdaptiveQuality feature and provide related APIs.
  10. Stereo Rendering mode can switch between SinglePass and MultiPass at runtime. Switch need reset the WaveVR_Render or just use different “WaveVR” prefab.

Change

  1. Do NOT allow gameObject with WaveVR_ControllerLoader to be set as controller in InputModuleManager.

  2. Improve WaveVR_Camera performance in SinglePass.

  3. Use GL.Clear() to replace LoadingCanvas.

  4. Developer can specify background color for the loading period.

  5. Set gaze to timer trigger if WaveVRButtons is not put in scene.

  6. Due to 2.1.8 and older server device service key table is wrong, needing to check capability of key mapping table.

  7. [Important] WaveVR_InputModuleManager.cs and InputModuleManager prefab are changed. If developer used
    1. WaveVR_InputModuleManager script in custom object,

    2) InputModuleManager prefab in custom scene, developer would need to check the parameters of WaveVR_InputModuleManager & InputModuleManager in new SDK.

  8. Move logic of reading OEM CONFIG of Beam&Pointer to ControllerLoader.

  9. If no controller connected and hmd enter button is unavailable, set Gaze to timger trigger.

  10. If there is only 1 controller and type is not focus, controller beam & pointer will be hidden by WaveVR_PoseTrackerManager.

  11. ControllerInstanceManager apply config of enabling single beam logic

  12. Change android targetSdkVersion to 26 and Unity 5.6 is no longer supported.

  13. [Important]Refine the button usage in scripts.
    1. Remove class WaveVR_ControllerInputModule.EControllerButtons, use WaveVR_ButtonList.EButtons instead.
    2. Remove volume keys from WaveVR_ButtonList.EButtons due to volume evens are enabled by default if device has volume keys and cannot be disabled.
    3. Remove WaveVR_InputModuleManager.OtherButtonToTrigger and WaveVR_ControllerInputModule.OtherButtonToTrigger due to its bad usage in architecture.
    4. Change WaveVR_InputModuleManager.ButtonToTrigger and WaveVR_ControllerInputModule.ButtonToTrigger to List<WaveVR_ButtonList.EButtons>
  14. Always overrides system settings of controller beam & pointer in ControllerLoader.

Bug fixes

  1. WaveVR_ControllerPointer fixed an issue that used a shared mesh in Unity built-in Quad to edit, instead of editing a copy object.
  2. WaveVR_ControllerLoader fixed exception by zero reset memory after alloc.
  3. Fixed controller pose is unexpected high in “InteractionMode Test” test scene.
  4. WaveVR_RenderModel loads default model when we cant find FBX from device service.
  5. Fixed controller is shown in gaze mode.

Removed

  1. WaveVR_ControlelrLoader removed menu of asset bundle creating.
  2. [Important] Set Scripts/Extra/GazeInputModule.cs to obsoleted.

Unreal

Changes

  1. Change android TargetSDKVersion to 26.
  2. Apply WaveVROEMConfig APIs on AdaptiveController, ControllerInstanceManager, LinePointer, RenderModel.
  3. Change WaveVRGetKeyValue API to WaveVR|OEMCONFIG API in WaveVR_Pawn.
  4. Override GameActivity.finish() to quit android application.
  5. Reset button states if device is disconnected.
  6. If no controller connected and hmd enter button is unavailable, set Gaze to timer trigger. - Refine WaveVR_Pawn gaze feature. - Add function IsButtonAvailable().
  7. Replace WVR_TriggerVibrator with WVR_TriggerVibration due to the change of wvr api.

Added

  1. Support MultiView and MultiView(Direct). Developer need choose GLES3.0 only in Unreal Project Settings when using MultiView.
  2. Support MultiSample 1~4X.
  3. Support arm64 build.
  4. Support custom multiple buttons for interaction click event.
  5. Added BP function SetPosePredictEnabled.
  6. Added WaveVROEMConfig class and APIs.
  7. Added WaveVR_IsEnableSingleBeam API.
  8. Added Software IPD feature.
  9. Added RenderMask feature.
  10. Added HMD Back key in button event & Unreal Input.
  11. Added Thumbstick to Unreal Input.
  12. Added AdaptiveQuality feature and provide related APIs.
  13. Added requestUsbPermission API to support OTG device.

Removed

  1. Set WaveVRJson APIs to deprecated.
  2. Set IsBatteryInfo API to deprecated.
  3. Removed Digital Trigger from Unreal Input since it won’t be SetInputRequest

Bug fixes

  1. Fixed “warm start HelloVR will show grey band in middle of screen” issue.
  2. Fixed “Controllers disappear while teleport” issue.
  3. Fixed HomeKey name in Chinese.

Known Issues

  1. Do not support IME in current version.

Release 3.0.2

SDK

Changes

  1. Renamed SDK API from WVR_GetDeviceErrorStatus to WVR_GetDeviceErrorState. WVR_GetDeviceErrorState queries the abnormal state whether is existed on the device.

  2. Rename SDK folder name and apk name. To see details SDK Folder Change List.

  3. Refined WVR_AnalogType name and id, please check the enum definition in file wvr_devices.h for detail.

    • Changed from WVR_AnalogType_TouchPad to WVR_AnalogType_2D
    • Changed from WVR_AnalogType_Trigger to WVR_AnalogType_1D
  4. Enable render Mask with Texture Target. Please refer to WVR_RenderMask.

Added

  1. WVR_SetInputRequest MUST be invoked after WVR_Init otherwise the app can NOT receive any key events from WAVE SDK 3.0 and later. To see detail.
  2. Added new SDK API WVR_GetInputMappingPair and WVR_GetInputMappingTable to get input device mapping result.
  3. Added new SDK API WVR_GetInputDeviceAnalogType to get input device analog type.
  4. Added new SDK API WVR_SetArmModel for APP to have simulated controller position with Arm Model, also a SDK API WVR_SetArmSticky to customize its behavior.
  5. Added new SDK API WVR_SetNeckModel for APP to have simulated HMD position with Neck Model.
  6. Added new WVR_InputId_Alias1_Enter and WVR_InputId_Alias1_Thumbstick in WVR_InputId definition.
  7. Added a checkpoint for checking the positions of controllers to adjust controller roles when client got the pose ready event.
  8. Support fixed foveation rendering. Please refer to WVR_RenderFoveation API.
  9. Support overfill function. Please refer to WVR_SetOverfillRatio .
  10. Support submit EGLImage directly.
  11. Support submit frame without doing distortion correction.
  12. Disable screenshot/cast if application set window to FLAG_SECURE.
  13. Support OEM performance module for device maker to config performance based on Application request.

Known Issues

  1. When we press the trigger button, the light blue effect of trigger key won’t show in app built with the SDK before version 2.1.8 or earlier.
  2. Unreal app is not supported for pressing HMD volume button to do unpair controller, need to go back to launcher or other unity app to do unpair controller operation.
  3. Plugin faceplate and switch device service to finch controller and connect finch with HMD, finch controller will be disconnected with HMD when unplug faceplate and there is no controller scanner in the scene, need to umount and mount HMD again to recover.

Bug fixes

  1. Add error handling when bit table is invalid.
  2. Fixed the issue of updating setting table from settings AP while system is setting the dominant hand.

Unity

Changes

  1. [Important] Getting runtime status is changed:
    • Real Connection:
      • Passive: developer can listen to event WaveVR_Utils.Event.ALL_VREVENT to get the connection status of Head, Dominant Controller and NonDominant Controller
      • Proactive: developer should use WaveVR_Controller.Input().connected to get the connection status of Head, Dominant Controller and NonDominant Controller
    • Valid Pose:
      • Passive: developer can listen to event WaveVR_Utils.Event.DEVICE_CONNECTED to check whether the pose of Head, Dominant Controller and NonDominant Controller is valid.
      • Proactive: developer should use WaveVR.Instance.getDeviceByType ().connected to check whether the pose of Head, Dominant Controller and NonDominant Controller is valid.
    • Left-Handed Mode:
      • Passive: developer can listen to event WaveVR_Utils.Event.DEVICE_ROLE_CHANGED to get the device role change event.
      • Proactive: developer should use WaveVR_Controller.IsLeftHanded to check left-handed mode. (True: left-handed)
  2. Assume developer uses InputModuleManager and set parameters as below:
    • Custom Input Module: Gaze
    • BtnController: True (means using controller button to controll)
    • With Time Gaze: False (means no timer)

    In runtime, if controller disconnected, Gaze module would use timer.

  3. Set HMD enter button to trigger Gaze as default.

  4. [Important] wvr.cs is changed:
    • Added API WVR_GetInputDeviceAnalogType
    • Added API WVR_SetNeckModel
    • Added API WVR_SetArmModel
    • Added API WVR_SetArmSticky
    • Added API WVR_SetInputRequest
    • Added API WVR_GetInputMappingPair
    • Added API WVR_GetInputMappingTable
    • Added API WVR_GetDeviceErrorState
    • Added API WVR_IsRenderFoveationSupport
    • Added API WVR_RenderFoveation
    • Removed API WVR_GetDeviceErrorStatus
    • Added enum WVR_PeripheralQuality
    • Added enum WVR_DeviceErrorState
    • Added enum WVR_SimulationType
    • Changed enum WVR_DeviceType
    • Changed enum WVR_InputId
    • Changed enum WVR_AnalogType
    • Changed enum WVR_ScreenshotMode
    • Changed enum WVR_SubmitExtend
    • Changed enum WVR_Eye
    • Added struct WVR_InputAttribute_t
    • Added struct WVR_InputMappingPair_t
    • Added struct WVR_RenderFoveationParams
  5. [Important] Change Unity plugin device type.

    From SDK3.0, developer will not see type “right” or “left” in component inspector. Instead, the device type will be “Dominant” or “NonDominant”. In right-handed mode, the “Dominant” hand will be right device. In left-handed mode, the “Dominant” hand will be left device. Here is the change file list. If developer used these files of previous version SDK to make customized prefabs, developer would have to check the value of fields in prefabs due to old types are removed from SDK3.0

    • Extra/GazeInputModule.cs
    • Extra/FollowTransform.cs
    • WaveVR.cs
    • WaveVR_AdaptiveControllerActions.cs
    • WaveVR_Beam.cs
    • WaveVR_Controller.cs
    • WaveVR_ControllerInputModule.cs
    • WaveVR_ControllerInstanceManager.cs
    • WaveVR_ControllerListener.cs (this file is obselete)
    • WaveVR_ControllerLoader.cs
    • WaveVR_ControllerManager.cs and its client function SetDeviceIndex
    • WaveVR_ControllerPointer.cs
    • WaveVR_ControllerPoseTracker.cs
    • WaveVR_ControllerRootToEmitter.cs
    • WaveVR_DevicePoseTracker.cs
    • WaveVR_EventSystemControllerProvider.cs
    • WaveVR_InputModuleManager.cs
    • WaveVR_PointerCameraTracker.cs
    • WaveVR_PoseTrackerManager.cs
    • WaveVR_RenderModel.cs
    • WaveVR_Reticle.cs
    • WaveVR_SetAsEventSystemController.cs
    • WaveVR_TrackedButtons.cs
  6. [Important] added / removed parameters and changed name of parameters of Prefab:
    • Beam.prefab
    • ControllerLoader.prefab
    • ControllerPointer.prefab
    • InputModuleManager.prefab

    Developer should check local customized prefabs.

  7. [Important] changed public variables name of Script:
    • WaveVR_ControllerLoader.cs
    • WaveVR_Beam.cs
    • WaveVR_ControllerPointer.cs

    Developer should check source code to which is related.

  8. In ControllerLoader.prefab, developer can customize beam & pointer.

  9. WaveVR_Beam.cs and WaveVR_ControllerPointer.cs is unbundled from WaveVR event system.

    Developer can not set raycast mode and related settings in WaveVR_Beam and WaveVR_ControllerPointer anymore. Developer should review related source code about using WaveVR_Beam and WaveVR_ControllerPointer.

  10. Send DEVICE_ROLE_CHANGED broadcast only when resuming and receving WVR_EventType_DeviceRoleChanged event

  11. In Mouse mode, use WaveVR_Render.Instance.righteye as right camera position, WaveVR_Render.Instance.lefteye as left camera position.

  12. Refine button behaviour of WaveVR_ButtonList & WaveVR_Controller
    • Input ID 1~15: provide press event only.
    • Input ID 16~18: provide press & touch event / axis.
  13. Send OEM_CONFIG_CHANGED event if runtime config value has been changed.

  14. Move VR Support check and symbol define addition to WaveVR_RenderBuildPecessor. Because the BuildCheck.cs might be removed by developer. :>

  15. In WaveVR_Settings, add more description for VR SinglePass.

  16. WaveVR_Render remove unused Gaze option, and refine CenterCamera.

    CenterCamera no need be modified to narrow viewport when playing because the Gaze won’t need it any more. When Playing, disable the CenterCamera.

  17. The attached camera is not required by WaveVR_Render.

  18. WaveVR_Render inspector has more settings and is able to set customized camera. If set, WaveVR_Render will not create new camera when expand stage.

  19. Updated all controller tips for supported language.

  20. Rename some unity files.
    • rename wavevr_internal.aar to wvr_internal.aar
    • rename wavevr_pidemo.aar to wvr_pidemo.aar
    • rename wavevr_resdemo.aar to wvr_resdemo.aar
    • rename wavevr_resindicator.aar to wvr_resindicator.aar
    • rename wavevr_unity_plugin.aar to wvr_unity_plugin.aar
    • rename wavevr_unity_plugin_2017.aar to wvr_unity_plugin_2017.aar
    • rename WaveVR.unitypackage to wvr_unity_sdk.unitypackage
    • rename Sample.unitypackage to wvr_unity_samples.unitypackage
    • rename WaveVR_SimulatorServer.apk to wvr_plugins_simulator_server.apk
    • rename HelloVRUnity.apk to wvr_unity_hellovr.apk
    • rename VRTestAppUnity.apk to wvr_unity_vrtestapp.apk

Added

  1. Added press-effect support for Grip, DPad_Left, DPad_Up, DPad_Down, DPad_Right, Trigger.

  2. Added support for custom ButtonList and InputMapping.

  3. Added ControllerInstanceManager to manage event, beam, pointer of controller instances.
    • There are different behavior in client application build with SDK 3.0.2 runs on different version of WaveVR runtime.
      • Application + runtime 3.0.2 - All applications are aligned focus controller.
      • Application + runtime 2.1.8 or older - Every application has its owned focus controller and isn’t sync with other applications.
    • If you are using application built with SDK 2.1.8 or older
      • Both 2 controllers are focus controller (able to interact with other objects/actors).
  4. Controller loader added support for FBX format.

    The loading priority is below: 1. FBX 2. Assetbundles 3. Client resource 4. Generic model

  5. Added system default controller tips.

  6. [Important] added new Prefab:
    • WaveVRButtons.prefab

    Developer should read documents “Buttons (new in SDK3.0) about button usage.

  7. [Important] add new Script:
    • WaveVR_ButtonList.cs

    Developer should read documents “Buttons (new in SDK3.0) about button usage.

  8. Developer can change WaveVR_Beam settings in runtime

  9. Support of new buttons: WVR_InputId.WVR_InputId_Alias1_Thumbstick & WVR_InputId.WVR_InputId_Alias1_Enter.

  10. Added “OtherButtonToTrigger” in InputModuleManager prefab. Developer can choose multiple buttons to trigger event.

  11. Added “UnityMouseMode” in WaveVR_ControllerInputModule, developer can change the value to let input module behaves like Unity mouse.

  12. New cameras : BothEyes, CenterEye

  13. New Delegates to listen to Camera Expand and status change.

  14. An experimental feature stereo rendering path: SinglePass.

    Developer can enable it by WaveVR_Settings (Preference). Old multipass rendering path still available.

  15. A RenderMask support for SinglePass

    RenderMask CommandBuffer will set to camera every frame.

  16. Support Foveated Rendering. Use FOV to set the foveated region.

  17. WaveVR prefab added the FoveatedRendering part. Default is disabled in WaveVR prefab.

  18. Added FoveatedRendering prefab. Put it into scene to enable a static foveated rendering. Developer can control it by script.

  19. Added WaveVR_RenderModel.cs to support

    merge multiple meshes to one mesh. customize emitter mesh to decide position/rotation of beam/pointer. show battery indicator provided by controller provider. broadcast DS_ASSETS_NOT_FOUND event when FBX is not found.

  20. Added “Controller Tips”, “Controller Instance Manager”, “Render Model”, “ScreenShot”, “RenderMask”, “Teleport”, “Button” tests to VRTestApp.

  21. Added a toggle to enable/disable Simulator and disable simulator by default.

  22. Simulator added controller button support.

Removed

  1. Switch custom hand in runtime.
  2. WaveVR_CavasEye are modified for new WaveVR_Render architecture.
  3. WaveVR_CavasEye can be only available in MultiPass. Suggest not to use.
  4. Removed “VirtualWall_test” scene in unity test app.
  5. Set WaveVR_TrackedButtons to obseleted interface.

Bug fixes

  1. Let touch dot effect more floating to touchpad.
  2. Fixed ControllerLoader memory leakage.
  3. Fixed “Get InputButtonState/InputTouchState did not work when use simulator” issue.
  4. Fixed Assets/Plugins/WaveVR_Simulator.dll not found in some computers.
  5. Fixed null reference exception when no focus window.

Known Issues

  1. When we press the trigger button, the light blue effect of trigger key won’t show in app built with the SDK before version 2.1.8 or earlier.
  2. If play switches beam during casting to an object, the object will not receive event from origin controller anymore.
  3. Use ControllerLoader prefab and uncheck “Track Position”. Even if ControllerLoader has parent with any position, the controller position will always be (0, 0, 0)
  4. Use WaveVR_PoseTrackerManager.cs standalone at a GameObject and set the “Track Timing” to “When Update”. The children objects of the GameObject will be hidden.
  5. Sometimes controller pointer will change after unplugging / plugging faceplate on Head Mount Device with SDK2.1.8 ROM.

Unreal

Changes

  1. Upgrade to Unreal Engine version 4.21.

  2. Changed spawn controller model from AdaptiveControllerBP to WaveVR_AdaptiveController, WaveVR_RenderModel, WaveVR_LinePointer.
    • Added WaveVR_AdaptiveController blueprint to replace AdaptiveControllerBP’s function of Pose/Event.
    • Added WaveVR_LinePointer blueprint to replace AdaptiveControllerBP’s function of beam/pointer.
      • Support line and pointer starting from custom emitter.
      • Support enable/disable line/pointer option.
    • Added WaveVR_RenderModel blueprint to replace AdaptiveControllerBP’s function of model/effect.
      • Merge multiple meshes to one bone.
      • Support battery indicator
      • Support custom emitter.
      • Support reading touchpad information.
      • Support auto key mapping.
  3. Changed controller model position from Cast to WaveVR_pawn location to the location output to “get Wave VRInput Device Position” which is set to HMD.

  4. Update generic controller model.

  5. Refine button behaviour
    • Input ID 1~15: provide press event only.
    • Input ID 16~18: provide press & touch event / axis.

    Developer can get all button events from WaveVREventCommon

  6. Change simulation pose options from true/false to force/no/when no position

  7. Hide controller when invalid pose.

  8. Apply texture size which derived from WVR_GetRenderTargetSize instead of monitor resolution.

  9. Changed test scenes of VRTestApp.
    • Added left controller to InputMode_test.
    • Added sound volume to SeaOfCube_test.
  10. wvr_device.h: enum WVR_SimulationType values are changed.

  11. Rename vr.permission.client.aar to wvr_permission_client.aar

  12. Rename simulator apk from WaveVR_SimulatorServer.apk to wvr_plugins_simulator_server.apk.

Added

  1. Added ControllerInstanceManager to manage beam/pointer and event.
    • There are different behavior in client application build with SDK 3.0.2 runs on different version of WaveVR runtime.
      • Application + runtime 3.0.2 - All applications are aligned focus controller.
      • Application + runtime 2.1.8 or older - Every application has its owned focus controller and isn’t sync with other applications.
    • If you are using application built with SDK 2.1.8 or older
      • Both 2 controllers are focus controller (able to interact with other objects/actors).
  2. Added auto reloading meshanism when render model is different.
  3. WaveVR Unreal SDK supports MotionController buttons below:
    • Touchpad: mapping to MotionController (R/L) Thumbstick
    • Trigger: mapping to MotionController (R/L) Trigger
    • Menu: mapping to MotionController (R/L) Facebutton1
    • DPad Up: mapping to MotionController (R/L) Thumbstick Up
    • DPad Right: mapping to MotionController (R/L) Thumbstick Right
    • DPad Down: mapping to MotionController (R/L) Thumbstick Down
    • DPad Left: mapping to MotionController (R/L) Thumbstick Left
  4. Add TriggerHapticPulse to vibrate controller.
  5. Support for new WVR_InputId.WVR_InputId_Alias1_Enter
  6. Added broadcast of ALL WaveVR button event. (not MotionController)
  7. Provide onConfigChanged callback when runtime OEM Config is changed.
  8. Added new APIs SetTrackingHMDPosition/SetTrackingHMDRotation/IsTrackingHMDPosition/SetTrackingOrigin3Dof.
  9. Added GetTexture2DFromImageFile feature.
  10. Added Splash Screen feature.
  11. Added Foveated Render feature.
  12. Added Screenshot APIs.
  13. Added Splash Screen Test, Forveation Test, Screenshot Test into VRTestApp.

Removed

  1. Remove WaveVRMotionControllerComponent
  2. Deprecated GetNumOfDof/SetNumOfDof.
  3. Deprecated AdaptiveControllerBP blueprints.

Bug fixes

  1. Fixed “Axis did not work when use instant play” issue.
  2. Trigger axis is incorrect.
  3. Axis of Thumbstick & Trigger is incorrect if GetAxis more than 1 time in a frame.
  4. Only one controller can take effect on Widget when both controllers are connected.
  5. The same actor receives the EXIT event from both controllers.

Known Issues

  1. Do not support IME in current version.

Pluginkit SDK

Changes

  1. Modified the build.gradle in device service project, merge grpc related dependencies into vr.pluginkit. Remember to remove the three dependencies “compile ‘io.grpc:grpc-okhttp:0.13.2’, compile ‘io.grpc:grpc-protobuf-nano:0.13.2’, compile ‘io.grpc:grpc-stub:0.13.2’.
  2. Add buttonId capabiity check inside setButtonPress(boolean press, int buttonId, long nanoTime). If the config inside TrackedDevice.Config.supportedButton for the buttonId is set to 1, the function can work.
  3. Add buttonId capabiity check inside setButtonTouch(boolean press, int buttonId, long nanoTime). If the config inside TrackedDevice.Config.supportedTouch for the buttonId is set to 1, the function can work.
  4. Add analogId capabiity check inside updateAnalog(int analogId, PointF axis, long nanoTime). If the config inside TrackedDevice.Config.supportedAnalog for the buttonId is set to 1, the function can work.

Added

  1. Added a new API setErrorState for developers to set or remove the abnormal states which occur by device.
  2. Added a new enumeration “DeviceErrorState” for replacing the original enumeration “DeviceErrorStatus”, which represents the current states of the device - normal or abnormal.
  3. Added new API registerDevice and unregisterDevice to replace getDevices. To see detail.
  4. Added three classes “VRCameraInterface”, “VRCameraData” and “VRCameraHandle” for camera developer. See also Pluginkit_VRCameraInterface.
  5. Added a new field inside TrackedDevcie.Config to represent analog type.
  6. Added new InputId_Alias1_Enter and InputId_Alias1_Thumbstick for InputId definition.

Removed

  1. Removed abstract getDevies function form VRDeviceService
  2. Removed connect and disconnect function form VRDeviceService
  3. Removed abstract isConnected function form VRDevice

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.