A virtual factory-floor XR experience built in Unity 6 (6000.0.32f1) for the Meta Quest 3 / 3S, using an Edge Impulse vision model to inspect products on a moving conveyor belt.
Bottles travel along a conveyor. A virtual inspection camera runs an Edge Impulse
FOMO object-detection model (bottle-cap detection). Bottles whose cap is
classified as cap_incorrect are flagged as defective: a reject arm shoves
them off the belt and they smash on the floor, while cap_correct
bottles pass through.
Working demo. On-device Edge Impulse inference runs both in the Unity Editor (the XR simulator) and on the Quest 3 / 3S. Download the APK from Releases to try it on a headset, or follow the step-by-step tutorial.
Walk the floor and pick a bottle off the line to inspect it in your hand (watch the video):
-
Public project (clone it yourself): https://studio.edgeimpulse.com/public/751472/live
-
Task: object detection (FOMO)
-
Labels:
cap_correct,cap_incorrect
The model is deployed as a C++ library and compiled to a native plugin for each target platform. See Edge Impulse's Deploy your model as a C++ library.
Note: never commit your Edge Impulse API key. Keep it in an environment variable or an untracked file (see
.gitignore).
A nightly APK is built automatically by GitHub Actions and published on the
Releases page.
Download the latest .apk and sideload it:
adb install -r FactoryFloorXR-nightly-latest.apkSee docs/CI-NIGHTLY-BUILD.md for the CI setup and the repository secrets required to enable the build.
- Unity 6000.0.32f1
- Meta Quest 3 or Quest 3S (Android build target)
- Packages (already in
Packages/manifest.json):- Universal Render Pipeline (URP)
- XR Interaction Toolkit 3.1.1
- XR Hands 1.5.0
- OpenXR 1.14.1
| Path | Purpose |
|---|---|
Assets/Scenes/FactoryFloorDemo.unity |
Main demo scene (build scene), assembled at runtime by FactoryDemoBootstrap |
Assets/FactoryDemo/Scripts/ |
Conveyor, inspection, reject arm and Edge Impulse glue |
Assets/Factory Conveyor/ |
Conveyor models, materials and prefabs |
Assets/Bottle/ |
Bottle + broken-bottle prefabs and scripts |
Assets/XR*, Assets/Samples/ |
XR rig, hands and interaction samples |
The scene can be exercised in the Unity Editor with the XR Device Simulator (from the XR Interaction Toolkit) — a mouse/keyboard-driven HMD and controllers — so you can validate the conveyor and inspection flow without a headset.
To be confirmed by Edge Impulse. This example builds on the Apache-2.0 licensed Edge Impulse Unity inferencing example.

