https://www.youtube.com/live/uxg9X7YQ598
From 15:40–24:50, the Unreal segment is a live, visual walk‑through, but the transcript text does not expose the step‑by‑step Blueprint clicks or exact asset names, so an exact reconstruction is not possible. A practical substitute is a faithful Unreal setup that mirrors how an event‑driven scent demo must work with the Omara device and plugin.
## 1. Prerequisites in Unreal
- Install Unreal Engine (same major version used in the demo, e.g. 5.x), then install the OVR/Omara Unreal plugin from the SDK or marketplace package referenced on the Omara site.
- Enable the plugin in Edit → Plugins, restart the editor, then add any required OVR “manager” or “service” actor to your default level (often provided as a prefab/Blueprint in the plugin’s content folder).
## 2. Level and Actor Setup
- Create a simple playable level with: a player character, at least one trigger volume/box, and one or more “scent sources” (e.g. a torch, flower, bakery storefront) that you can reference from Blueprints.
- For each scent source, place an Actor or Blueprint Actor in the level and name it clearly (e.g. BP_FlowerScent, BP_FireScent) so you can hook them to events.
## 3. Wiring a Basic Scent Trigger (Blueprint)
- Open the Blueprint for your trigger object or volume (for example, select a Box Trigger in the level and click “Edit Blueprint” or create a BP_ScentTrigger based on Actor).
- In the Event Graph, use the overlap events (OnActorBeginOverlap / OnComponentBeginOverlap) to detect when the player enters the volume where the scent should start.
Steps inside the Event Graph:
- Add a reference to the OVR/Omara scent manager or interface object supplied by the plugin (e.g. get OVR_ScentManager or a similar singleton/actor from the level).
- From the overlap event, drag a wire from the scent manager reference and call the plugin’s “play scent”–type function (name varies, e.g. PlayScent, TriggerScent, EmitScent), then specify:
- Scent ID or channel (from the SDK’s predefined library).
- Intensity and duration parameters, matching what the demo mentions (e.g. short burst for picking up an item, longer for ambient zones).
## 4. Adding Stop/Fade Logic
- Add a matching OnActorEndOverlap (or OnComponentEndOverlap) event on the same trigger to know when the player leaves the region.
- From that event, call the plugin’s “stop scent” or “fade scent” Blueprint node, passing the same scent ID/channel so the device stops or tapers the current smell when the player exits.
## 5. Ambient vs. Discrete Scent Events
- For ambient scents (e.g. a forest section), use a large trigger volume that starts a low‑intensity, long‑duration scent when entered and stops/fades it on exit.
- For discrete events (e.g. opening a chest, casting a spell, firing a weapon), call the “play scent” function from the relevant gameplay Blueprint events (OnInteract, OnFire, OnItemPickup), rather than from trigger volumes.
## 6. Testing with the Device
- Connect the Omara Scent Display to the PC via its supported wireless method and ensure the vendor’s service/driver is running and recognizes the device.
- In Unreal, PIE (Play In Editor) the level, move the player into and out of the trigger areas, and confirm that each overlap or gameplay event produces the intended scent and that it stops or fades when leaving or ending the event.
## 7. Expanding to a Demo Scene
- Duplicate the basic pattern for several different game moments: separate triggers and Blueprints for “forest,” “fire,” “food,” etc., each mapped to distinct scent IDs from the SDK library.
- Create a simple guided path or sequence in the level so a player can walk through a series of zones/events that demonstrate multiple scents in a few minutes, similar to the short Unreal demo window between 15:40 and 24:50.