The Unity side collects PICO tracking data, maintains the in-headset UI, connects to the PC receiver, and displays PC-side WebRTC video.
- Unity:
2022.3.62f3 - Render pipeline: Built-in 3D
- XR SDK:
Packages/PICO-Unity-Integration-SDK - Main scene:
Assets/Scenes/SampleScene.unity - Android package:
com.picobridge.app
PICO 4 and PICO 4 Ultra use the same APK. The project does not split packages by device. Before use, disable the safety boundary in the PICO developer menu and enable Settings > Interaction > Automatic switching between gestures and controllers.
Full-body motion capture requires Motion Tracker setup and calibration in the PICO system. If Motion Tracker is not configured or calibrated, BODY / MOTION being inactive is expected.
Tip: To use Unity Build & Run directly to the headset, connect the PC and PICO with a USB cable that supports data transfer. A charge-only cable may not be recognized by Unity as a deployable device.
- In Unity Hub, choose
Add/Add project from disk, then select the repository root. - Open the project with Unity
2022.3.62f3. - Manually open
Assets/Scenes/SampleScene.unity.
Runtime bridge code, UI prefabs, Android native plugin assets, and the PC receiver are organized as follows:
Assets/Scripts/PicoBridge/
├── PicoBridgeManager.cs bridge entrypoint
├── Network/ TCP/UDP protocol and discovery
├── Tracking/ headset, controller, hand, and body tracking
├── Camera/ WebRTC video receiver
├── UI/ in-headset UI
└── Editor/ scene setup, validation, and build tools
Assets/Prefabs/PicoBridge/ in-headset UI prefab
Assets/Plugins/Android/ Android native plugin assets
pc_receiver/ PC-side Python receiver
| Menu | Purpose |
|---|---|
PicoBridge > Setup Scene |
Completes bridge objects and UI prefab instances. |
PicoBridge > Rebuild Panel Prefab |
Rebuilds the UI prefab from the template; this overwrites manual UI changes. |
PicoBridge > Validate Project Settings |
Checks Android/PICO build settings. |
- Keep the Built-in 3D mainline. Do not restore URP / Live Preview dependencies.
- Runtime code must not create, delete, rebuild, or automatically migrate UI hierarchy.
- Maintain UI hierarchy through editor tools or manual prefab/scene edits.
- Preserve
.metafiles when adding, moving, or deleting Unity assets. - Avoid unrelated Unity YAML churn before saving scenes.
- Python receiver:
cd pc_receiver && pytest tests -q - Unity: open the project with
2022.3.62f3and confirm the Console has no compile errors. - Device: install the APK separately and verify passthrough, tracking, PC connection, and video return.