Running a Session with Multi User

SightLab_VR_Server.py is for running a session as the server using the GUI interface.

SightLab_VR_Client.py is for running each client that will connect to the server. 

Note: These instructions are for running Multi-User with SightLab 2.0, if using 1.9, please see this page


Before running a session you may want to calibrate each user if using an eye tracked headset. This varies depending on the hardware being used. See the Supported Hardware page for more information. 

Run SightLab_VR_Server to start the main server. All clients will connect to the main server. 

Set up all your experiment options as usual according to this page. Enter a Session ID that will be used for the data files as well. 


If this is the first time logging in with this project you will need to enter the name of the computer running the server script. Click "New" in the Server Name dropdown list and a window will pop up where you can enter the name. After entering  the name  it will be stored and not need to be entered again within this project (multiple server connections will show up in the dropdown).  To get the computer name you can type "About your PC" into the Windows search bar and copy the name next to "Device Name"

Next click "Connect" to connect to the server

Once connected with the server you can choose your avatar under "Avatar", as well as your right and left hand controller models. If you wish you can also enter a Name (otherwise an anonymous ID will be assigned). If you click "Show" the name tag can show above your avatar in the session. Click "Auto Assign" to automatically assign an avatar that is  given a color associated with your assigned ID. Wait to make sure it says "Server Connected" below and then click "Continue" to let the server know you are ready. 

See this page on how to create new custom avatars

On the server side it will show how many clients have connected and how many are ready. Click "Continue" when the necessary clients are ready. 

When the session starts you can view a bird's eye view of all the clients from the server view. Each client can view all the other clients from their machines. 



After you quit, you'll see data files will be saved in the "data" folder


Note that for the Demo version there is a 5 minute time limit on execution. 


For more information see the Multi User Custom Experiments page for code specific to Multi User or the Multi User Example Scripts. Or see the additional pages in this documentation which should also apply to Multi User. 

Trial_data  shows a timestamp along with the x,y,z coordinates of the gaze intersect (combined and individual eye), eye euler, head position (6DOF), Fixation/Saccade status, saccade amplitude, velocity, average amplitude, peak velocity, pupil diameter, eye openness (if you are using a headset that tracks those), and custom flags. See documentation on how you can add more items to this file

Experiment Summary - Shows a summary of the view count, fixation count, dwell time, average view time, per trial saccade calculations, time to first fixation, as well as any additional data that you want to summarize per trial. See documentation on how to add more data. 

Trial Timeline - Shows a timeline of when objects were viewed, for how long, and how many fixations there were per object

Run the Session Replay to view analytics such as heatmaps, scan paths, dwell time, user interactions and more. Use spacebar to start and stop replay. Can be viewed either on the Desktop or in a headset. See the Session Replay page in the documentation for more information.  

To view visualizations for only one client, select the Client ID in the dropdown

Screen Recordings -  If "Screen Record" is checked, screen recordings will be saved to a new folder "recordings". It is suggested to install the moviepy python library via the Package Manager to compress the video recordings, as these come in uncompressed by default. The video recordings can also be brought into Biopac Acqknowledge synchronized with the physiological recording if using Biopac. See the Biopac page for more information. 

There is also a config.json file that saves your experiment settings, as well as .rply files in the replay_data folder, that is used for the session replay.


Note: You can additionally run an "Instructor" or "Presenter" client that can control the flow of the session and trials from within a headset and guide the clients. See the SightLab Projects\Multi User ExamplesScripts\Presentation Mode example.