
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.
Create a user form in unity by adding a panel to the canvas, unpacking the prefab, rename to title, scaling to fit, then set the title with text mesh pro.
Learn to import fonts from the web into Unity, using Google and 1001 fonts, convert to TextMesh Pro assets, and apply a chosen font to your title.
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.
Address large file limits in GitHub for a Unity project by either buying more space or moving assets into a dedicated folder and updating the .gitignore to exclude them.
Resolve the large file error in GitHub within a Unity workflow by creating a fresh repository, ignoring large files, publishing updates, packaging assets, and undoing changes when needed.
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.
Show two VR models, a baker and a brown bottle, on start practice with correct placement and scale, and toggle visibility via script while updating instructions with a text mesh.
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'.
Learn how to add comments in scripts to explain code, save changes, and push updates via GitHub desktop to keep versions synchronized.
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 SteamVR into Unity by visiting the Unity Asset Store, log in, and import the Valve Vive Pro plugin via Package Manager; enable the VR loader in project settings.
Install SteamVR in a Unity project, set up the VR headset and controllers, calibrate room-scale tracking, and run the sample interaction scene to explore teleport and hand interactions.
Learn how to include the VR camera in the Unity scene, adjust its position and rotation, and connect it to the canvas, with plans to add hands and a pointer.
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.
Implement a Unity virtual reality practice trial where colliding a liquid bottle fills a beaker to 90 percent using a collider and a C# script, with setup and testing steps.
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.
Fix the VR pointer click issue by removing and re-adding the VR input module under the player VR, and keep the prefab packed; save and push to GitHub.
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.
Set up models for study experiment 1 part 2 in Unity, applying rock textures and potassium materials with water and lab prefabs.
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.
Experiment 1 shows updating robot instructions text on start button press, initializing the text mesh, and making the potassium rock interactable with a mass collider and script.
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.
Attach a rotate around script to the mini potassium to spin around the beaker for 10 seconds at 20 degrees per second using delta time, then disable the potassium.
Develop and test a Unity VR scene that scales down a potassium particle on collision in a beaker, using a custom scale-down script and imported assets.
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.
Set up the experiment in Unity by creating the experiment tool, modeling an aluminum plate with foil texture, and placing bromine and aluminum in the baker under the iron ring.
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.
Duplicate aluminum into the beaker, set half liquid inside, enable mini aluminum on collider touch, play audio, then destroy the aluminum and prepare visual changes.
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.
Set up experiment three by arranging chemistry lab models and prefabs, including watch glass plate, wine bottle, test item, and a flame particle system for VR.
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.
Implement interactions in experiment 3 by pouring nitromethane into a plate to 20%, then methanol to exceed 50%, and observe the lighter flame, using Unity colliders, liquid containers, and particle systems.
Experiment 3 adds methanol as the second interaction by configuring mesh and capsule colliders, attaching liquid container and renderer scripts, and wiring methanol flow into the plate.
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.
Write and manage a stepwise VR lab script in Unity that toggles interactivity, colliders, and robot instructions across nitro methane, methanol, and flame steps in experiment three.
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.
Complete the end scene by displaying a thank you message, configuring the VR input module and canvas, disabling the pointer, and committing changes to GitHub for the next scene transition.
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.
Discover how to use the pupil labs eye tracker in Unity for VR, import the official Unity package, access HMD eye data, and collect data with demos and GitHub resources.
Create data folders for controls and ADHD traits, save participant demographics, calibrate the eye tracker, and store eye-tracking data by user name and date.
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.
Finalize the calibration by following the circles with your eyes, wait 10 seconds, then enable the chemistry lab study and its three experiments.
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.
Record gaze data in Unity by saving timestamps and look durations to a csv file within the eye tracking folder whenever users look at instructions or models.
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.