Hi π I am having trouble using the discover_one_device function with the neon VR. When using other neon glasses they are discovered but not the neonVR for quest 3. Any idea what the problem could be?
Hi @user-cc6fe4 ! Since you mentioned π€Ώ neon-xr I have moved it to this channel. Could you clarify whether you are using the python API or the Unity XR package? If the latest, please have a look at https://docs.pupil-labs.com/neon/neon-xr/neon-xr-core-package/#connecting-to-neon
Hi, I'm using the Neon XR mount with Quest 3 for a research project (simulated prosthetic vision study).
Issue: When the Neon module is mounted inside the Quest 3, the eye cameras are too close to my eyes. The Companion app frequently shows a "Sensor failure β The Neon Module has stopped providing Eye Sensor data" error. When I hold the headset slightly away from my face (adding ~5-10mm distance), tracking works fine.
What I've tried: - Swapping to the thickest Quest 3 face cushion β still too close - Reconnecting USB-C multiple times - The module works perfectly on the standard Neon glasses frame, so the hardware itself is fine
Question: Is there a recommended spacer or face interface modification to increase the distance between the Neon module's eye cameras and the wearer's eyes when using the Quest 3 mount? Has anyone else encountered this with certain face shapes?
Setup: - Quest 3 (latest firmware) - Neon module + Quest 3 XR mount - Neon Companion app - MRTK3 template project (neon branch, Unity 2021.3.45f2)
Thanks for any suggestions!
Hi @user-7c37b1 , this sounds like the Neon module is not maintaining good contact when wearing the Quest 3 mount. Do you lose the connection when you place the module in that mount and lightly press on the module at different points? If it helps, here is a video on how to swap the module.
Hi Rob, following up on this answer: it sounded like with v2.0.0 of the Neon XR Core package it is possible to access blink data directly?
At the moment, Iβm able to receive eye openness data, but I havenβt found a way to access blink events themselves. Could you clarify whether blink data is exposed in the Unity package?
My goal is to log everything directly from Unity rather than running an additional recording via the Companion app.
Hi @user-741d8d , the Neon XR Core Package does provide Blinks, but it requires a lower level API call. You can see an example of how it is done by going to the Package Manager, selecting the Neon XR package, and then loading the Streaming Sample Scene. You want to check the EyeEvents section of the code.
May I ask why you want to collect everything via Unity? How do you do time sync and do you want 200Hz eyetracking data? Note that running a recording and streaming is a common practice and does not stress the phone.
Hi @user-f43a29 and thanks for your reply, I'll look into that sample scene!
To clarify my current setup: I already had an existing recording pipeline in Unity that logs all experimental data, stimuli positions per frame etc. For simplicity and to avoid additional synchronization overhead, I aimed to integrate the eye tracking data into the same pipeline, so that everything is stored in a single, frame-aligned dataset.
I subscribe to the gazeDataReady callback and log the incoming eye tracking data together with Unityβs time (once per update/event). The application runs via Meta Link at 120 fps, so Iβm aware that I am not using the full 200 Hz sampling rate of the eye tracker. For my use case (analyzing average pupil size per condition + distance between gaze and stimuli), this seemed like an acceptable trade-off..
Do you see potential issues with this approach in terms of timing accuracy?
Thanks again for your help!
@user-741d8d , this approach is in principle fine. For best time sync, you can either force both devices to do an NTP sync before each recording session, or measure the transmission latency from Neon to the Quest 3 on your network, and account for that when timestamping the incoming data. Meta's documentation might have tips on how to enforce an NTP sync. We can take a look into that on Monday.
Hi, I'm currently working on adding Neon-XR to my unity project, and after completing step 1 (add the package in the Package Manager, it gave me erros as in screenshot. Can I ask for your advice on how I can proceed further? Thank you so much for your time https://docs.pupil-labs.com/neon/neon-xr/neon-xr-core-package/
Hi @user-b5a8d2 , as the top errors suggest, it seems your firewall might be blocking some resources. Are you using a university or work connection?
Otherwise, what versions of Neon and Microsoft Visual Studio are you using?
Thank you very much. I updated the Unity version, and the previous issues have been resolved. I believe I have completed all the steps; however, when I test the system while wearing the glasses, no ray is displayed. I am unsure how to proceed at this point. Specifically, after verifying the NeonβUnity connection, how can I further confirm that eye gaze is being recorded correctly and proceed with integration for AOI testing?