
Create a research-focused Unity VR app with eye tracking and EEG neurofeedback, collecting demographics, questionnaire data, and brain activity for online databases and study experiments.
Install Unity Hub, download Unity, and sign in or create an account to obtain a personal or professional license. Enable Universal Windows Platform build support for VR applications.
Create a new Unity project, organize assets, scripts, and environment folders, and set up scenes with open scenes, scene view, and game view to enable transitions and platform settings.
Create and rename scenes in Unity to build a VR flow, including a user form, chemistry lab, questionnaire, and end screen with data saved per user.
Download and import a UI asset from the Unity Asset Store into the assets folder, then customize the VR scene by adjusting panels, enabling objects, and configuring displays.
Identify the event system as a necessary game object that enables interaction in the user form, and keep it in the hierarchy after adding a panel or canvas.
Add and configure input fields and dropdowns for a participant form in Unity, using text mesh pro and placeholders, on a screen space camera canvas.
Finalize the user form in a Unity VR app by configuring username, age, and gender fields with dropdowns, and set education level and ADHD or attention problems options.
Finalize the user form by configuring vision and hearing dropdowns with observations, enforcing VR rules for lens-corrected vision, and polishing the submit button and colors for a ready VR app.
Set up the chemistry lab main scene in Unity by importing a 3D lab model, configuring build settings, and preparing scenes for three experiments and a questionnaire.
Download a robot model from Sketchfab, import it into Unity, create an avatar with extracted materials, and set up an animation controller for the animation that looks at the user.
Set up a practice trial in Unity for the VR chemistry lab by creating empty GameObjects to delineate practice from study and configuring a canvas UI for user instructions.
Continue building the practice trial canvas by adding the title, instructions, and UI text with Mesh Pro, then adjust layout and fonts and configure the start button.
Set up a robot-facing canvas to show practice-trial instructions, rename chemistry lab to chemistry lab practice, and trigger the instructions after pressing the start practice button.
Learn how to back up Unity projects with GitHub, sign up, create a repository, enable collaboration, and access your code from desktop apps on Windows or Mac.
Set up a local Unity project with GitHub Desktop by linking accounts, creating a repository, and publishing a private repo with optional readme, gitignore, and license.
Disable the start button on click in a Unity chemistry lab practice using a C# script attached to a UI button. Observe the button disappearing as models appear for interaction.
Learn to implement a 10-second timer in Unity that updates practice instructions and toggles models, enabling the button and reflecting completion with 'practice completed'.
Install Steam and SteamVR for the HTC Vive Pro, set up the headset with its two trackers and controllers, and verify the minimum PC specs (processor, memory) before use.
Import and set up the VR camera, pointer, and right-hand model in Unity, then test button interactions in the main scene.
Change the color of the VR pointer and hands by adjusting hand materials, test the color, then save and push updates via GitHub Desktop to preserve progress.
In this practice trial, learn to interact with a brown bottle in VR using the controller, attach interactive scripts, and remove the timer to fill the bottle with bromine liquid.
Learn to add a simple, endless liquid pouring effect into a bottle in Unity using a free liquid asset, configure a collider, liquid container script, color, and particle system.
Build a Unity fluid system by adding a fluid object with mesh filter, renderer, and collider; color liquid, position it in bottle and beaker, and enable filling via collider interactions.
Create a C# script for on collision to fill the beaker when colliders touch, set fill to 0.9, attach it to the practice beaker, and test in VR headset.
Configure the study setup by enabling the chemistry lab study, moving models from practice, updating robot prompts for three experiments, and placing a potassium rock on a plate.
Learn to enable experiment one on condition in Unity by scripting a start button to reveal the chemistry lab models and activate the experiment object, with neurofeedback considerations.
Duplicate potassium and place it near the beaker, half in water. Use a collision script to enable mini potassium on contact and destroy the original object.
Implement audio on collision by wiring an audio source to potassium, enabling it when it hits water, and add particle effects using carbon effects assets.
Finalize experiment one and start experiment two by updating robot instructions in the chemistry lab script and toggling booleans and active objects with 10-second and 3-second waits.
Write Unity scripts to control experiment flow by enabling the experimental GameObject and updating robot instructions, and adjust interactive models like potassium, chromium, bromine, and the baker for VR interaction.
Add a fluid system to the brown bottle, including retractable and collision scripts, capsule collider, and endless liquid container to make the bottle interactable in VR.
Click to enable the fluid in the brown bottle by using the mesh collider and ensuring a fluid mesh is present; otherwise the liquid won't appear on the paper.
Enable interaction with the aluminum model in Unity by enabling its mesh and capsule colliders after the beaker contains liquid, and update robot instructions for experiment two.
Rework the chemistry lab script to run in order by moving calls from update to start. Configure experiments one and two with conditional checks and enable colliders to progress tasks.
Finalize experiment two by triggering the aluminum and glass material changes, a purple light with a range of 0.1, and timed color and material swaps via the mini aluminum script.
Write a Unity script to reveal and activate experiment three only after completing experiment two, coordinating booleans, delays, and interactions (grab white bottle, pour into plate) for the lab scene.
Add a flame object with a liquid particle system and configure its rotation, color, and lifetime in Unity. Trigger the flame on plate contact via a collision script.
Set up the questionnaire scene in the Unity VR project by configuring VR input modules, creating a world-space canvas, and refining the questionnaire UI with text elements.
Configure the questionnaire scene by adding and arranging five questions, renaming items, adjusting font sizes, and styling the submit button, then test in VR with pointer interactions.
Create and configure a toggle group for each question in the questionnaire scene, add interactive toggles for all answers, customize labels and fonts, and ensure only one option is selected.
Create and wire a Unity questionnaire script to enable the submit button only after answering all five questions, validating inputs and connecting to the canvas in the VR app.
Learn how to implement scene transitions in Unity. Disable the on-screen pointer in the chemistry lab and load the next scene with a change scene script.
Learn the second method to change scenes in Unity using a scene index. Map build settings indices to scenes like chemistry lab and questionnaire and load by index.
Learn a script-driven method to change scenes in Unity for counterbalanced research tasks, using a scene data script to move from chemistry lab to questionnaire without editing task data.
Create a Unity C# script to save participant demographics from the user form, initialize input fields and dropdowns, validate username and age, and enable the submit button for data collection.
Save demographics data from a user form in Unity by creating a data folder and a C# script that writes headers and appends participant details to a CSV on submission.
Save user form and demographics data in Unity, then transition to the next scene using a public next scene function from the scene data script.
Create user-specific data folders in Unity by username and date, organized by user group (control or ADHD traits), with automated directory creation on button click.
Download the pupil core software, connect it to the Unity project, and integrate a calibration step in the chemistry lab scene to enable eye-tracking data collection.
Configure Unity API compatibility to version four, set calibration parameters, attach the VR camera, and enable gaze tracking after completing the practice trial, then run the calibration sequence.
Create and configure an eye-tracking recorder in Unity, enable custom paths for eye-tracking data, and start and stop recording via user actions after calibration.
Set up and calibrate the eye tracker in the Unity scene, record eye-tracking data during practice trials, and export fixation and position data for analysis using the data exporter.
Test and save eye-tracking data from users during calibration and three experiments in a Unity VR app, linking demographics, instructions, models, and experiment timestamps for EEG integration.
In this course, you will learn how to build in Unity a VR App, learn how to create interactions in VR, how to include shaders and effects and how to integrate Eye Tracking, EEG and Neurofeedback for your research project. You will learn many methods to transition between scenes, you will learn more advanced codes and methods in Unity to correctly write the scripts and you will also learn how to back up your project into the GitHub server using the GitHub desktop. After this course, you will be able to collect data in Unity into CSV files from users’ demographic information, from questionnaires, eye tracking and EEG. This course will also cover two additional programming languages including Python and PHP. We will use python to clean data collected from the eye tracker and PHP to connect Unity with an online server and post the data into our online database. From this course, you will be able to learn the fundamental codes that will help you develop your own app for your research study. No coding and knowledge experience in Unity is required and no technological devices are required to follow this course. The aim of this course is to help you learn how to best utilize Unity for your own research project.