Release Notes
Changelog
Version 2.5.9 (10/06/25)
- Added Placeholder object for Session Replay for vizshape objects
- Fixed issue with session replay flags not working
- Fixed issue with slider scrubber to work with video playback
- Session Replay screenshots saved to “screenshots” folder in replay
- Added ability to save equirectangular 360 screen captures (experimental feature)
- Fixed bug with saving custom trial data
Example Scripts - Driving Major overhaul with expanded version available for download (including endless road, additional city maps, freeway onramps) Support for driving wheels Dynamic trigger based acceleration Xbox and game controller optimizations (note this is now first in the list) Toggle multiple viewpoint Improved turning Movable MPH and RPM gauges Added wheel spinning (on main session but not replay) Performance increase Bug fixes
- AI Intelligent Agent - Integrated avatar placer, fixed issue with elevenlabs animation starting before speech and mouth morphing continuing Reduced end to end latency Increased accuracy with speech recognition
- AI 3d model spawner Added transform/translate/scale/save and load
- Educational_Application_AI Reduced latency significantly
- Virtual 2d Screen Fixed cycle videos example
Version 2.5.8 (9/16/25)
- Fixed error when quitting multi user
- Fixed issue with not being able to set scene objects after the trial has started in the code
- Changed Vizard log level to viz.setLogLevel(viz.LOG_ALWAYS) to avoid spamming the interactive window with unnecessary loading information
Example Scripts - Real World Objects example support for 360 video - Fixed issue with error when disabling video recording on external data recorder
Version 2.5.6 (8/26/25)
- Fix for Virtual Screencast to work with browsers again
- Starting and Stopping Data Logging example update
- Fixation timeline added to sightlab.startTrial and Server
- Syncthing included in utils folder for multi-user synchronization
Version 2.5.5 (8/20/25)
- Experiment summary now shows saccade averages instead of delta averages
- If an object is intersected during an entire saccade, will show that object on the fixation saccade timeline
- Added naming of columns in fixation saccade timeline to include “Delta” for delta metrics
- Added updateRate flag to choose between collecting data on frame rate update or on a timer
- Keyboard shortcuts for replay (scrubbing, etc.) now work whether CAPS lock is on or off
- Example Script Updates
- External Data Recorder – Added new ability to view gaze point in realtime. Fixed crash in Replay.
- Bug fixes for the following example scripts: Virtual Screencasting, AI 3d model spawner, video compressor
Version 2.5.4 (8/14/25)
- Fixed error with mid-trial clients data and replay
- Example Script Updates
- External Data Recorder – Added option of saving of average biopac data
- AI Agents – AI Agents latency adjustment (reduced latency from avg. 8-10 seconds down to 2-3 seconds). Fix for AI Agent frame rate issue
Version 2.5.3 (8/11/25)
- Fixed issue causing long waiting times for trials to save or multi user scripts to finish
- Added sightlab.getClientName() to get access to the client name from a client script
Version 2.5.2 (8/8/25)
- Fixed issue where multi user scripts would get stuck when ending
- Fixed issue with experiment summary writing multiple headers and columns with custom data
Version 2.5 (8/7/25)
Fixation & Gaze Processing Enhancements
- Centroid-based fixations – Fixations are now calculated using the centroid method rather than the previous start-point algorithm.
- Growing-window dispersion – Fixation range is determined with a dynamically expanding window instead of a fixed moving window.
- Immediate fixation onset – Fixations are logged as soon as an intersection begins, decoupling them from the dwell-time threshold.
Data File Regeneration - Re-calculate past sessions – You can now re-run and recalculate data from previously recorded sessions with updated thresholds.
Additional Analytics and Data Files
- Fixation and Saccade Timeline export – New Fixation Saccade Timeline
data file includes detailed metrics on each fixation and saccade (duration, dispersion angle, velocity, amplitude, etc.).
- Additional data fields:
- Trial length
- View status over the full trial (which item was viewed when)
- Time to first fixation on each object of interest
Terminology Changes
- “View counts” renamed to Dwell Visits
- “Fixated on” renamed to Dwell Onset
- Note: Can revert to 2.4 headers with a flag
- Header changes:
- Added (secs)
, (degrees)
, etc. to values
- Changed View Counts → Dwell Visits
- Saccade amplitude → Delta Angle
- Saccade velocity → Delta Gaze Velocity
- See full list in sightlab_config
- Note: Can revert with SightLab(oldHeaders=True)
⚠️ Potential Breaking Changes
- When referencing participant info:
- p.id
is now just p
- participantData
is now participantData[ID]
- Header changes may affect parsing (can revert using the above flag)
Synchronize Resources for Multi-User - Added ability to synchronize resources for Multi-User using syncthing.
Heatmap Improvements
- Added adjustable time-based gradient heatmap that can fade over a set range.
Example Script Updates - External Data Recorder – Tag regions of interest in third-party applications and collect eye tracking. - Lab Streaming Layer example – Stream any data (e.g., eye tracking metrics) into Biopac AcqKnowledge or other EEG/physio software. - Hand-grabbing physics – Enhanced grab interactions for Vive Focus Vision controllers. - AI Intelligent Agent - Updated to work with gpt-5. Fixed issue with ElevenLabs - Scripted Avatar Agent- No longer needs vlc player. Fixed issue with ElevenLabs
Bug Fixes and Optimizations for the following Examples - Multi-User Public Speaking - Walk the Plank Multi-User (now working) - Choice Comparison - Heatmap Visualizer - Driving Simulator - 3D Menu - 360 Moving Regions of Interest (multiple regions support) - Tossing Objects - Vive Trackers example - Mocopi trackers example - Many more small fixes and updates
Additional Updates
- Added Projection VR to dropdown.
- Fixed issue with combined/per trial option not saving.
- Other data files now use combined method if selected.
- Updated .showInstructions
to automatically work with GUI scripts.
- Fix for loading SightLab 1.x replays.
- Fix for errors on switching trials in the GUI.
- Fixed issue with setStartText
not working.
Bug Fixes & Stability - Corrected various minor bugs across data logging, UI callbacks, and replay modules to improve overall stability.
Version 2.4.3 (7/1/25)
Revert back to this version, click here to download sightlab_utils 2.4.3 and place in C:\Program Files\WorldViz\Vizard8\bin\lib\site-packages\ (overwriting current folder and files)
-
Fixed issue with onMediaEnd not working
-
Added text for GUI to show Left Shift to toggle navigation
-
Fixed issue with ROI tags showing duplicate in replay
Version 2.4.1 (6/20/25)
- GUI now shows both Experiment Options and Trial Options on startup
- Updated default sizes for GUI, Mirrored Window, and Replay
- Replay enhancements: object visibility, scaling, and Model Viewer integration
- Fixation Sequences added to replay
- Time to first fixation added to replay
- 360 ROIs and names added to replay
- Updated moving regions of interest example to make the process simpler
- Fixed bug with experiment summary
- Added "Check for Updates" button to the GUI to check for the latest version
- Replay data added to Biofeedback Ball example
- Spatial tracking improvements: RMS and angular error metrics, glow effect when within threshold
- Spatial Scanning with Audio example added
- Mocopi tracker support added
- Vive Tracker issue fixed for latest SightLab compatibility
- New Environment Swapping example for experiment and replay use
- Virtual 2D Screen: config-based screen object and hardware-aware positioning
- Image Viewer passthrough mode and hardware positioning support
- Mirror module and example updated
- Glaucoma example rendering/interaction bug fixed
- Adaptive Learning example now includes scikit-learn and staircase method support
- View Percentage example tracks and logs time spent per region
- External Data Recorder now supports OpenAI via environment variable
- Added new AI-based data analysis tools and examples
Version 2.3.9 (5/29/25)
- Virtual Screencasting from Desktop or phone to VR
- AI Agent fixes and updates, also no longer requires vlc
- New Shopping Visual Search Demo (by request)
- Updated Visual Search Sample Conjunction vs. Feature
- Publish exe example fix
- Updated Mirror demo for Vive Face Tracker
- Eyetracker tests updates
- Spatial Scanning update
- Updated Art Gallery Randomize Visual Search
- Fixed issue with Jump to Locations
- Video screen updates
- TriggerPress3 updated to be correct controller
- Image instructions update
- Added vizshape to automatically imported modules
- Quest 3 hand vizconnect option
- Slowed down transport on Quest 3 vizconnect
Version 2.3.7 (5/3/25)
- Increased resolution to get rid of warping on 360 media
- Fixed stereo 180 video
- External Data Recorder Screen Based eye tracker support
- Updated External Data Recorder to use environment variables for AI
- Environment Variables for AI agents and APIs
- Scripted Avatars update
- AI Image Spawner update
- Vizconnect for using mark avatar hands
- Fixed speech recognition example
- Updated AI Content Spawner
- Updated Visual Search Single Object
- Updated Rating Scale Example
- Added maze model to resources
Version 2.3.6 (4/14/25)
- Offline AI Agents from Ollama (Gemma, Deepseek, Llama, etc.)
- Generative AI 3D models
- Generative AI Image Spawner
- Drawing Tool Example
- Multi User Drawing Tool
- 2D Screen GUI Update
- 360 video with 3D object example
- Hand Path Tracking
- Randy Pausch Visual Search Example
Version 2.3.5 (3/28/25)
- Added modules for easy import of Vive Focus Vision hand and face tracking
- Updates to External Application Data Recorder
- AI Data Analysis
- Convert video to frames and ask questions can be used for any session
- Added optional beep sound when recording done
- Multi-User Barchart added
-
AI Agent Updates
- Dropdown menu for selections
- Fixed Anthropic library error
-
New simplified examples for gaze based interactions and Visual Search
- Changed comparison_label_TTFF to “comparison_label”
Version 2.3.4 (3/13/25)
- Fix for multi user synchronization
- Updated External Application Data Recorder
- Added support for Vive Focus Vision (requires using SRAnipal Driver)
- Added Experimental AI auto tagging of view counts, asking questions about the data
- Optimized Replay with gaze point now showing properly
- Optimized all supported hardware devices with gaze point, eye tracking data
- Added ability to record video of replay
- Testing of using stand alone apps (eye tracking not supported in this mode)
- Updated Reaction Time Example
- Added scene_objects to built in sightlab_resources
Version 2.3.1 (2/21/25)
- Walk Path added in Replay
- Grab and Release Events added to Trial data and Acqknowledge markers
- Acqknowledge now shows Gaze start and Gaze end as well as trial start and end
- Adjustment for gazewindow to be removed if affecting frame rate (sightlab.removeGazePointWindow())
- Dragging an environment object in the GUI adds a copy to current folder
- Folder to open resources on the Modify Window
- MainWindow FOV matches gazepointwindow FOV
- Removed ‘Default’ trial (default settings are now associated with trial 1)
- Fixed error in Driving HMD configurations related to transport
- Fixed error when pressing ‘p’ key before trial starts
- Rating and instruction fadequad no longer blinks on and off between ratings
- GUI shows Trial 1 instead of Default before starting trial
- Updated Randomize Blocks example
- Local_vizconnect folder for Model and Media Viewer
- Updated Projection vizconnect
- Option to create Rating Scales/Questions/Surveys from a csv file
- Fixed avatar head to not be visible in the avatar view Example
- Input Dialogs example
- Surveys example added to Ratings
- Updated Scripted Avatar Agent (fixed timing issues).
- Updates to Driving Simulator
- Updated car model to fix lighting
- Added moveable steering wheel to standard car model
- Fixed issue with car off of ground in replay
- Consolidated scripts
- Optimized starting positions
- External Data Recorder
- Vive Focus Vision Support
- First Person Viewpoint in Replay option (set to on by default)
- Changed name of Data Recorder in Example Scripts to “External Application Data Recorder”
- Image Viewer Sample
- Spatial Scanning Example
- Updated speech recognition example
Version 2.2 (1/31/25)
- Support for Vive Focus Vision (Eye Tracking, Passthrough, Hand Tracking, Face Tracking)
- Fixed an issue where eye tracked headsets may not have been tracking in the GUI version
- Added Gemini and Vision capabilities to AI agent scripts (avatar can be "aware" of scene)
- Fixed performance issue with individual eye gaze points (made those a flag)
- Asset Browser to download individual procured assets (environments, objects, avatars, 360 media), along with links to additional asset libraries and AI creation tools (found in main folder)
- Reaction Time updates and reaction time with selector tool
- Proximity Area Placer helper module
- Fixed issue with not being able to override the position resetting on every trial
- Example showing saving Biopac Data to Data files (added this also to Biofeedback example)
- Speech Recognition Example (changing state of objects with voice)
- Shared State Multi User example
- Updated all Mixed Reality, Face Tracking, Eye tracking, and basic hand tracking scripts to support Vive Focus Vision
- Synchronize states of any data with multi-user
- Fixed Biofeedback example to support multiple trials
- Updated Analysis Comparison to more easily modify measure value and label
- Server option to view in headset
- Waiting Room and whiteroom added to default resources
- Fix for error when deleting default environment
- Pressing refresh on avatar list selects Glowman Blue
Version 2.1 (1/14/25)
- Hardware chooser now shows up after pressing Continue on GUI instead of right away
- Ability to fine tune regions of interest with 360 media
- Support for screen based eyetrackers from Tobii and EyeLogic
- New Scripted Avatar Example
- Updated Driving Example
- Car is now an encapsulated class that can be more easily added to any script
- Moving steering wheel added
- Speed increase and decrease can now be incremental while holding gas or brake
- Engine audio pitches up or down based on speed
- Saving of velocity and position data
- Added Jeep model
- Updates and optimizations to the following other examples
- STIM file and Visual Search randomized variables now playback in correct order on session replay and choice is saved to data files
- Updated Virtual Screen STIM to properly replay chosen videos
- GUI version of visual search highlighter example
- Added comparison for Memory Experiment
- Updated Art Gallery visual search
- Rotoscoped Avatars example
- AI Agent SpeechRecognition now works without the need to modify core python files
- Access to avatar head folder for swapping out multi-user avatars
- Additional bug fixes and optimizations to many example scripts
Version 2.0.6 (12/26/24)
- Fixed issue that caused some multi user replays not to work
Version 2.0.5 (12/13/24)
- Fixed issue with removing scene objects in the replay
Version 2.0.4 (12/11/24)
- Fixed bug that affected Session Replay
- Added headlight option to replay class
Version 2.0.3 (12/11/24)
- Fixed error with scrubbing forward while at the end of the replay
- Minor Bug fixes
Version 2.0.2 (12/4/24)
- Fixed moviepy code to work with latest version for compressing videos
- moviepy and psutil libraries included in installer
- SightLab doctor utilities to check system (in "Util_Files")
- Trial version doesn't freeze when timer runs out, closes window instead
- AI Intelligent Agent Update
- Multiple Agent Interactions (AI Agents can speak with each other, even if using different LLM models, such as Anthropic and OpenAI)
- External Application Data Recorder Update
- Given the window title the recorder will now automatically select the other application's window (requires install of pywin32 python library)
- Video recordings now saved in the 'recordings' folder with same name as session
- Replay can select recording with same name as session
- Re-adjusted replay screen size to better fit HMD view
- Adjustable replay screen
- Version added using GUI
- Sync event also can use events such as a triggerPress
- Heatmap Visualizer (All Trials) now supports 360 media as well
- Small bug fixes and updates on Gaze Based Events and Selector Tool Examples
Version 2.0.1 (11/18/24)
- Removed python files from showing in avatar, controllers and gaze point choice lists
- Fixed issue where custom data was not being saved to timeline data file
- Fixed error when closing client script before pressing "Continue" while server already running
- Updated Mirror Demo:
- Added "reset" key
'r'
. - Added adjustment for Mixamo avatars' position.
- Added settings for different avatar libraries.
Version 2.0 (11/12/24)
- Upgraded GUI functionality, including multiple condition setups and more advanced experiment design
- Improved organization of code and class structure
- Ability to store and load custom experiment setup project files
- New folder and project based structure (all data, recordings, replays stored per folder)
- New options for directory management within the GUI
- A unified script for 3D models and 360 media
- Updated heatmap visualization, including dynamic playback and aggregated heatmap
- Fixation and dwell sphere visualizations
- Improved scan and dispersion paths
- Optimizations and general improvements on Session Replay
- Enhanced algorithms for fixations and saccades
- Saccade amplitude, velocity and peak velocity (trial data and experiment summary)
- Better performance and lower memory usage
- Enhanced rating system and participant instructions (including custom images)
- Detailed data collection for specific objects of interest
- Providing of raw data and summary data files
- Individual eye data for intersect points and eye rotation
- Simplified data toggling per trial
- Avatar animations in session replay
- Improved setup for 360 regions of interest
- Improved experiment paradigms and flow control using GUI, STIM Files or code
- Noise reduction algorithm
- Ability to publish experiments as executables
- Save data files as combined or per trial
- Jump To Navigation Menu
- Updated 3D Menu Tool
- Traffic flow and collision example (in Driving Example)
- Memory Task
- Choice Comparison experiment
- And much more
Version 2.0 Beta 2 (10/2/24)
- Multi User improvements and updates
- Bug fixes
- Removed need to add multiple lines for saving custom data