All notable changes to this package are documented in this file.
Compatible with Varjo Base 4.3 or newer. Add preliminary support for Unity 6.0 or newer
- Upgrade com.unity.xr.arfoundation dependency to 5.1.3
- Compatible with com.unity.xr.arfoundation 6.0.0
Compatible with Varjo Base 4.0 or newer.
- Support for Varjo Controllers
- Support for XR-4
- Added Varjo.XR.AutoExposureBehavior property
- Upgrade to oldest currently supported Unity LTS version 2021.3
- Upgrade com.unity.xr.management dependency to 4.4.0
- Upgrade com.unity.xr.arfoundation dependency to 5.1.0
- Fixed Native-To-Managed callbacks for VarjoMixedReality.StartDataStream missing MonoPInvokeCallback attribute
Compatible with Varjo Base 3.10 or newer.
- Deprecated and removed support for Legacy 10-dot gaze calibration. Newer Fast 5-dot gaze calibration allows to achieve higher accuracy and precision. Requesting Legacy 10-dot gaze calibration will trigger Fast 5-dot calibration.
Compatible with Varjo Base 3.9 or newer.
- Changed
VarjoEyeTracking.GetGaze
andVarjoEyeTracking.GetEyeMeasurements
to return the really latest available data instead of the last data frame in the previous call toVarjoEyeTracking.GetGazeList
or the previous Unity XR Input update.
Compatible with Varjo Base 3.8 or newer.
- Support for retrieving and controlling headset interpupillary distance
and its adjustment (see
VarjoHeadsetIPD
class) - Support for user presence status (
UnityEngine.XR.CommonUsages.userPresence
) - Support for getting current Varjo system timestamp (
VarjoTime.GetVarjoTimestamp
) and support converting that timestamp to DateTime structure (VarjoTime.ConvertVarjoTimestampToDateTime
)
- Fixed build post processing being performed when building for unsupported target platforms
- Varjo VR-1, VR-2, VR-2 Pro and XR-1 Developer Edition are no longer supported (these devices are not supported with Varjo Base 3.8 or newer)
- Removed YUV422 color stream conversion functions for XR-1 Developer Edition
Compatible with Varjo Base 3.7 or newer.
- Support for new environment cubemap mode
- Support for blend control mask (D3D11 only)
- Added new metadata to environment cubemap stream
- Eye openness data to
VarjoEyeTracking.EyeMeasurements
structure - Added support for cancelling gaze calibration with
VarjoEyeTracking.CancelGazeCalibration
function. - Added new
VarjoEyeTracking.HeadsetAlignmentGuidanceMode
option to control whether gaze calibration user interface waits for input from user (headset button press) before starting calibration sequence. - Added a new camera property to control the new eye reprojection feature.
- Eye open amount data in
XR.Eyes
now uses actual eye openness tracking results instead of gaze availability
- Device layouts for all supported SteamVR tracker roles
- Fixed memory layout of
VarjoEyeTracking.EyeMeasurements
structure
Compatible with Varjo Base 3.6 or newer.
- Support for up to 14 SteamVR trackers with button inputs
- Proper support for Valve Index controllers
- Device layouts for all supported input devices
- DirectX 12 support (requires Unity 2021.2 or newer)
- Function for controlling global chroma keying
- Support for triggering "One dot" gaze tracking calibration
- Input subsystem now ensures there is only one SteamVR controller device with a given role (left hand, right foot, keyboard etc.) and reports other devices with the same role as generic tracker devices without button inputs
- Tracked devices have more descriptive names now
- Fixed Session subsystem reporting wrong installed status
- Fixed
VarjoCameraSubsystem.MetadataStream
not working with IL2CPP
Compatible with Varjo Base 3.5 or newer.
- Support for simple two view stereo renderering
- AR Foundation support, including the following:
- XRSessionSubsystem provider
- XRCameraSubsystem provider, adding support for controlling video see-through cameras with
XRCameraSubsystem.Start()
andXRCameraSubsystem.Stop()
, accessing the camera image CPU buffers, utilities for converting the buffers to RGB and grayscale textures and support for retrieving camera intrinsics - XROcclusionSubsystem provider, adding support for enabling and disabling environment depth estimation with
XROcclusionSubsystem.Start()
andXROcclusionSubsystem.Stop()
- New
VarjoEyeTracking.EyeMeasurements
structure, which provides gaze tracker's estimates for user's pupil and iris diamaters in millimeters, their ratios and user's interpupillary distance - New
VarjoEyeTracking.GetEyeMeasurements()
function for retrieving latest eye measurements data and added overload forVarjoEyeTracking.GetGazeList()
function for retrievingEyeMeasurements
data together withGazeData
data
- Changed minimum supported Unity version to Unity 2020.3
- Moved camera metadata stream to
VarjoCameraSubsystem.MetadataStream
, where it can be accessed after callingVarjoCameraSubsystem.EnableMetadataStream()
- Renamed
EventHeadsetStandbyStatus
asEventStandbyStatus
andVarjoEventManager.GetEventHeadsetStandbyStatus()
asVarjoEventManager.GetEventStandbyStatus()
- Removed deprecated
VarjoEyeTracking.RequestGazeCalibration(GazeCalibrationMode calibrationMode, GazeOutputFilterMode outputFilterMode)
andGazeOutputFilterMode
- Removed the old implementation of
VarjoDistortedColorStream
as the stream is now available throughVarjoCameraSubsystem
- Deprecated
leftPupilSize
andrightPupilSize
fields ofVarjoEyeTracking.GazeData
structure. Change new code to use values provided inVarjoEyeTracking.EyeMeasurements
structure.
- Fixed Varjo Loader Initialization always returning True
- Fixed inside-out tracking not working without SteamVR being installed
Compatible with Varjo Base 3.4 or newer.
- Proper error handling
- Support for controller haptics
- Function to get Varjo session pointer
- New hasNewFrame boolean for mixed reality streams to inform if the stream has received a new frame since the last GetFrame
- Inline documentation for public methods and custom types
- Documentation link in the Package Manager
- Invalid float parameter in VarjoRendering setting functions is now returning an error instead of silently clamping the value
- Fixed foveated rendering is now used as a fallback when foveated rendering is enabled but no gaze data is available
- By default use eye tracking data poll rate equal to fastest rate supported by connected headset (i.e. 200Hz for XR-3, VR-3 devices, and 100Hz for earlier devices)
- Removed unit tests from the plugin package
- Fixed eye tracking not working if "Allow eye tracking" was enabled in Varjo Base after the plugin was loaded
- Fixed VarjoTextureBuffer using deprecated Texture2D.Resize() on Unity 2021.2 or newer
Compatible with Varjo Base 3.3.1 or newer.
- Fixed occlusion mask being upside down when using HDRP with Unity 2019
Compatible with Varjo Base 3.3 or newer.
- Removed experimental 3D reconstruction support
- Fixed warped frame after calling XRGeneralSettings.Instance.Manager.StopSubsystems()
- Fixed GUIDs in tests conflicting with other XR SDK plugins
- Fixed VST mask in HDRP samples for Unity 2020 and newer
Compatible with Varjo Base 3.2 or newer.
- Fixed VarjoRendering.GetOcclusionMeshEnabled() always returning false
- Fixed Vive trackers not working correctly as hand held controller devices in builds
- Fixed Vive controllers sometimes being assigned to wrong hands
Compatible with Varjo Base 3.1 or newer.
- Renamed input features to match common bindings
Compatible with Varjo Base 3.0 or newer.
- Fixed devices not working correctly with new input system
Compatible with Varjo Base 3.0 or newer.
- Support for Varjo XR-3 and VR-3
- Support for foveated rendering. Foveated rendering is now enabled by default
- Chroma key support
- Support for streaming VST camera metadata without DistortedColorStream texture buffers
- Face-lock support
- Runtime functions for rendering settings in VarjoRendering
- Support for SteamVR trackers
- Support for polling eye tracking data 200Hz outside the input subsystem
- Functions for controlling gaze output frequency and gaze output filter type
- XR Meshing subsystem (experimental) for XR-3 point cloud data
- Refactored VarjoSettings and made them modifiable only in editor when the application is not running
- OpenVR controllers are now using predicted pose
- VarjoMixedReality.EnableDepthEstimation() doesn't require manually enabling 'depth sorting' setting anymore
- VarjoEyeTracking.RequestGazeCalibration() now takes only one parameter of type GazeCalibrationMode
- Updated samples for new features and other minor improvements
- Updated license
- Fixed package installation issues
- Fixed incorrect controller poses when tracking origin and direction has been overridden from Varjo Base
- Fixed culling issues
- Fixed Varjo.IsHMDConnected() and VarjoMixedReality.IsMRAvailable() returning false if 'Allow eye tracking' is disabled from Varjo Base
- Fixed crash when display subsystem stopped and started again
- Fixed controller tracking state not reported correctly
- Fixed HDRP stereo rendering for Unity 2019.4
Initial plugin release.
Compatible with Varjo Base 2.4 or newer.