https://drive.google.com/file/d/16SDsLobKehsAvm9pa5xApA8IDpRBoiSM/view I've accessed the video and can provide both a summary and transcript for the Unity OVR Intro Tutorial.drive.google+1​ # Video Summary This tutorial demonstrates how to enable a Unity project with the OVR (Oculus VR) plugin for scent technology.[drive.google](https://drive.google.com/file/d/16SDsLobKehsAvm9pa5xApA8IDpRBoiSM/view)​ #### **Setting up the Unity Project:** 1. Open Unity Hub and create a new project using the Universal 3D sample template[drive.google](https://drive.google.com/file/d/16SDsLobKehsAvm9pa5xApA8IDpRBoiSM/view)​ 2. Create a "plugins" folder under assets[drive.google](https://drive.google.com/file/d/16SDsLobKehsAvm9pa5xApA8IDpRBoiSM/view)​ 3. Add the OVR Unity plugin by copying it into the plugins folder[drive.google](https://drive.google.com/file/d/16SDsLobKehsAvm9pa5xApA8IDpRBoiSM/view)​ 4. Install Unity's Newtonsoft plugin to resolve JSON data warnings by adding the package `com.unity.nuget.newtonsoft-json` through Windows > Package Manager[drive.google](https://drive.google.com/file/d/16SDsLobKehsAvm9pa5xApA8IDpRBoiSM/view)​ ### **Scent-Enabling an Object:** 1. Navigate to Assets > Scenes > Oasis[drive.google](https://drive.google.com/file/d/16SDsLobKehsAvm9pa5xApA8IDpRBoiSM/view)​ 2. Select an object (like a shrub or palm tree) and add the "Odorant Sphere" component[drive.google](https://drive.google.com/file/d/16SDsLobKehsAvm9pa5xApA8IDpRBoiSM/view)​ 3. Create an "Odor Sources" folder and import scent files[drive.google](https://drive.google.com/file/d/16SDsLobKehsAvm9pa5xApA8IDpRBoiSM/view)​ 4. Assign a scent to the object and adjust the Odorant Sphere bounds (inner radius: 1, outer radius: 8)[drive.google](https://drive.google.com/file/d/16SDsLobKehsAvm9pa5xApA8IDpRBoiSM/view)​ ### **Enabling Smelling:** Add these components to the main camera:[drive.google](https://drive.google.com/file/d/16SDsLobKehsAvm9pa5xApA8IDpRBoiSM/view)​ - Olfactory Epithelium - Connection Manager - Odorant Manager - Message Queue Manager ### **Connecting and Testing:** 1. Go to Window > OVR Quick Connect[drive.google](https://drive.google.com/file/d/16SDsLobKehsAvm9pa5xApA8IDpRBoiSM/view)​ 2. Run the project and click "BLE Scan"[drive.google](https://drive.google.com/file/d/16SDsLobKehsAvm9pa5xApA8IDpRBoiSM/view)​ 3. The device LED turns blue when connected[drive.google](https://drive.google.com/file/d/16SDsLobKehsAvm9pa5xApA8IDpRBoiSM/view)​ 4. As you approach scent-enabled objects, the console shows the scent command and intensity[drive.google](https://drive.google.com/file/d/16SDsLobKehsAvm9pa5xApA8IDpRBoiSM/view)​ ### **Connection Methods:** - **OS**: Pre-connect via the OS BLE connection menu[drive.google](https://drive.google.com/file/d/16SDsLobKehsAvm9pa5xApA8IDpRBoiSM/view)​ - **In-App**: Android-specific connection dialog[drive.google](https://drive.google.com/file/d/16SDsLobKehsAvm9pa5xApA8IDpRBoiSM/view)​ - **Scan**: Classic scanning for devices in the area[drive.google](https://drive.google.com/file/d/16SDsLobKehsAvm9pa5xApA8IDpRBoiSM/view)​ --- # Full Transcript **0:00** - hello and welcome to the ovr intro tutorial in this tutorial we'll be going **0:05** - over how to synth enable a unity project using the ovr plugin **0:11** - to start off you'll want to open up your uni your unity hub create a new project **0:16** - and go to the sample section if you don't already have it downloaded go **0:19** - ahead and download the universal 3d sample and i'm going to name it as ovr **0:25** - intro tutorial once your **0:30** - project is open there's a few things we're going to have to do to to synth **0:34** - enable it first we're going to go ahead and create **0:39** - a new folder under assets and we'll call it **0:43** - plugins then inside the plugins folder we will add **0:47** - the ovr unity plugin copying and pasting it we'll right click here show an **0:53** - explorer open plugins and paste great once you have your **0:58** - plug-in here you can go ahead and close out of that and go back into unity and **1:03** - now we have our ovr unity plug-in the other thing we're going to have to do **1:07** - next is get rid of a few of these warning messages here this is because **1:12** - the ovr plugins use of json data and so we're going to need **1:16** - unity's newton soft plugin so you can go to **1:20** - windows package manager then you're going to want to **1:24** - add package by name and you wanna gonna you're gonna wanna **1:27** - put c-o-m-com.unity.nuget.newtonsoft-json **1:33** - and click add once you have that go ahead and hit play make sure **1:37** - everything's running stop that go back to our project and now our console is **1:42** - clean and everything is good to go the scene we'll send enable is the oasis **1:48** - scene so you'll want to go to assets scenes oasis and double-click the oasis **1:53** - scene once your scene has loaded should look something like this we are going to **1:58** - begin by enabling one of these shrubs or palm trees we'll go ahead and send **2:03** - enable this one so you can go to add component **2:07** - and type in odor and you should see a few things **2:11** - come up we're going to be interested in odorant sphere now you'll notice in odor **2:16** - and sphere that there's odor assets section and when you click on it you'll **2:19** - see that we have no odor assets available so let's add some **2:25** - in our assets root we'll create a new folder and call this odor sources and we **2:31** - have a few core synths here that we're going to drag and drop into unity just **2:36** - like that unity will process them and now you have them in unity **2:42** - we can go back to our shrub now and when we click here you'll see we have some **2:46** - options and we'll give this shrub the green **2:52** - acid all right great so now our odorant sphere has the green odor acid so that's **2:57** - something we'll be able to smell we'll go ahead and tweak the bounds we can set **3:01** - the inner radius to one we can offset it moving it up a bit **3:07** - 0.5 and we'll give it outer radius something like an 8 here so whenever the **3:13** - nose enters the blue that's when the smell will start and as you approach the **3:18** - white slash gray inner radius that's when it will be peak intensity of the **3:23** - odor we don't actually have a nose yet **3:28** - cameras and look at the fps controller and under that we'll see we have a main **3:32** - camera the main camera in unity is what does the listening **3:38** - and the seeing so we're gonna go ahead and make it also do the smelling so on **3:42** - the main camera we're gonna add an olfactory epithelium by searching for it **3:47** - in the add component section here and just like that we have it **3:53** - and then for actually managing and handling **3:56** - connections we're going to click add component **3:58** - we need a connection manager so we'll search for connection manager **4:03** - and add that we also need an odorant manager we'll **4:08** - search for that and add it as well and a message **4:12** - queue manager with those component scripts added we should be able to **4:17** - connect to the device and actually test synt if you go to window and then ovr **4:22** - quick connect there's a little handy menu here to **4:26** - help you scan and connect to the first ble device found so we will go ahead and **4:32** - run this and while it's running we'll go ahead and click ble scan you'll know **4:36** - that it's working a few ways you can look in console and look at the logs **4:40** - here it says ion device found finished scanning and init connected you'll also **4:45** - know because on the actual device the led light will go blue go back to our **4:50** - game and we can start approaching the shrub we've sent enabled now you **4:57** - can't actually smell what i'm smelling but i do have this log here that will **5:02** - show you the printout for the green command that we assigned **5:06** - to this as well as the intensity of this command **5:09** - this tool right here is just getting the serial output from the device how do you **5:13** - actually handle the connection part yourself without using the quick connect **5:18** - we'll go ahead and stop this you should also notice that your device will go **5:23** - from blue to orange as it's now disconnected and to quickly show you how **5:27** - the connect will work we can go ahead and look at the ble scan code here to **5:32** - get an example for how that connect works that code can be found under **5:36** - plugins ovr utility plugin editor and this should be the script ovr editor **5:42** - tools we'll go ahead and open that we can examine the button here called ble **5:47** - scan this is the code you'll have to call whenever you want to initialize a **5:52** - scan the ble connection style has a few options **5:56** - it has scan in-app and os the os is to pre-connect via the os ble connection **6:04** - menu the in-app is android-specific so that in the app you can actually get a **6:10** - connection dialog prompt to select the ion and connect that way and scan is the **6:15** - old-school classic way of scanning for devices in an area using these two lines **6:20** - of code here marking it as the first scan and setting the connection style **6:24** - scan and the init for the connection manager instance you'll be able to **6:27** - connect the device and that's it for the quick rundown for how to syn enable a **6:32** - unity project thank you 1. [https://drive.google.com/file/d/16SDsLobKehsAvm9pa5xApA8IDpRBoiSM/view](https://drive.google.com/file/d/16SDsLobKehsAvm9pa5xApA8IDpRBoiSM/view) 2. [https://drive.google.com/file/d/16SDsLobKehsAvm9pa5xApA8IDpRBoiSM/view](https://drive.google.com/file/d/16SDsLobKehsAvm9pa5xApA8IDpRBoiSM/view) ---