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 @user-a4aa71 , the Unity client currently uses an average camera intrinsics when converting to VR coordinates, as this is sufficient in that case. The Neon XR team is currently updating the package in some ways and they will add a feature to use the intrinsics provided by Neon's API.
In the meantime, you can replace the calibration.bin file in the Unity app's persistent Data Path with one from a Native Recording Data folder made with that device. See here for additional details about that path. If you encounter any trouble, just let us know.
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:
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:
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 @rob 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?