> For the complete documentation index, see [llms.txt](https://docs.ovrtechnology.com/home/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ovrtechnology.com/home/ovr-plugin-unreal/master.md).

# Welcome

Current installation, dependencies, platform requirements, native transport ownership, limitations, and support guidance for the OVR Plugin for Unreal (UE 5.4-5.8).

The **AOS: Architecture of Scent** plugin adds programmable scent interactions for OVR ION/Omara hardware. Fab packages are provided for Unreal Engine 5.4 through 5.8.

OVR hardware and compatible scent cartridges are required for hardware playback and are not included with the plugin.

### Requirements

* Use the plugin ZIP matching the project's exact Unreal Engine version.
* Epic's Niagara and Android Permission plugins are required code dependencies and are enabled automatically by `OvrUtilities.uplugin`.
* Platform Bluetooth permissions are required when using direct BLE.
* Windows USB serial may require the official [Silicon Labs CP210x VCP driver](https://www.silabs.com/software-and-tools/usb-to-uart-bridge-vcp-drivers).
* The optional OVR Companion application is required only when using the Companion WebSocket transport.

### Installation

Install the single `OvrUtilities` folder in the project or engine, then open **Edit > Plugins** and search for **AOS: Architecture of Scent** (OVR AOS). Enable **Show Plugin Content** to access the supplied Blueprint manager, odor assets, UI examples, and BLE demo content.

The Fab download is a source plugin with prebuilt Win64 editor/game binaries. Private repository access is not required.

### Core workflow

Use the plugin's Blueprint or C++ interfaces to:

* Discover and connect to OVR ION/Omara hardware using the supported transport for the platform.
* Observe connection, device-ready, battery, availability, and failure events.
* Create reusable `OdorAsset` data and play one-shot scents with normalized or byte intensity.
* Build spatial odorants with sphere, capsule, box, or cone attenuation.
* Optionally use Niagara particle integration or burst/diffusion behavior.
* Use the Companion WebSocket transport on Windows or macOS when the Companion application is the preferred connection owner.

### Implemented platforms

* **Windows 10/11 x64:** direct BLE, USB serial, and Companion WebSocket.
* **Android / Meta Quest:** direct BLE and system Companion Device pairing. Quest uses the Android implementation.
* **macOS 13.3 or newer:** direct BLE and Companion WebSocket.
* **iOS:** direct BLE through the bundled embedded framework.

Linux, WebGL, Wine/Proton, and consoles other than the listed Meta Quest Android path are not supported. Mac, iOS, and Android applications must be validated with their native toolchains, signing/permission configuration, and physical hardware before release.

### Native-code ownership

`UnityCoreBluetooth`, `BleWinrtDll`, and `libMacBLEDynamicLib` are proprietary native transport components authored and owned by OVRTechnology. They do not contain Unreal Engine source dependencies.

The Silicon Labs CP210x driver is an external user-installed prerequisite and is not redistributed with the plugin. Niagara and AndroidPermission are Epic-provided Unreal Engine dependencies and are not redistributed by OVRTechnology.

### Support

For support, visit [OVRTechnology contact](https://www.ovrtechnology.com/contact).
