更新于2026年1月19号
0-教程
这玩意更新太快了,新的SDK使用比之前的有一些不同,不过大体一致。新的SDK配置官网上也有详细的教程了。
现在的视频教程网址: https://www.spatialxr.tech/
文章教程: https://developer.unity.cn/projects/65769b0dedbc2a44a9bb1e20
1-unityXR开发架构



2-XR Interaction Toolkit(XRI)


untiy 提供的xr开发套件,与平台无关,提供了很多xr开发的基础功能,用来做应用内容,新建项目时可以从模板开始,里边提供了一些常用功能。

unity官方推出的一款XR通用交互开发工具包,叫做XR Interaction Toolkit,它就具有跨平台的特性,他提供了比较丰富的交互功能,并且适用于跨平台的XR开发。3.0之前的版本和3.0之后的版本有了非常大的更新变动。所以之前市面上的教程都是2.X版本的其实已经用不到当今版本的开发了。而现在许多XR设备的新版开发方案,已经强制需要使用XR interaction Toolkit3.0以上的版本了,否则就会报错。使用meta Quest 3来展示应用效果,但是同样也适用于苹果和pico。只不过一些环境配置和交互脚本的使用上有些差别。
https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@3.4/manual/examples.html


用手柄抓取物体,就是interactor和interactable
转动手柄摇杆去控制人物的移动,只有inerataction在交互。

实际开发过程中会经常用到的概念

3-SteamVR sdk
专门提供PC端的VR开发。
4-OpenVR
是V社自己搞得适用于steamVR的协议,在openXR出现前试图提供一个统一的可以部署在steamVR的开发标准,现在已经逐渐废弃
openxr就是定义了一套接口,然后各个硬件厂商能够实现这些接口,将自己的设备兼容到openXR当中。实际上openxr的接口还能够进行扩展。硬件厂商能扩展,将硬件特性带入到openXR当中。
高层可以选择XRI作为交互层的开发工具。另外再使用unity官方退出的通用ARMR开发工具包--ARFoundation,和针对Meta Quest 3推出的MR开发工具包,将这几个工具结合起来,开发方案。
**5-**unityXR
这是untiy自己搞的xr开发套件,用来兼容各家不同的sdk,包括openXR,真正做到一次开发,分平台部署,体现在Untiy中就是这个,我们装了哪家的sdk,下边就会出现那家的选项,我们只要在这里切换目标设备就可以

6-pico的插件
1.PICO Unity Integtation SDK
PICO公司自己的SDK,提供对头盔的驱动,注意最低Untiy版本需求
主要用于开发相关的功能。只能适用于pico平台的开发,不能兼容其他平台的。

https://developer-cn.picoxr.com/document/#develop

2.Pico Unity Live Preview Plugin

https://developer-cn.picoxr.com/document/unity/preview-app-scenes/
串流SDK,用于在unity中调试时将画面投射到头盔里,方便开发,如果使用PDC需要用这个,如果使用Pico互联则不需要,推荐使用pico互联
实时预览场景,用于串流调试,通过 PDC 工具在头戴上实时预览应用内场景

⚠️同时使用 PDC 工具和 "PICO 互联" 软件会导致 PDC 工具运行异常或串流服务异常。
因此,使用 PDC 工具前,请确保 PC 端和头戴端都已退出 "PICO 互联" 软件。PICO 4 Ultra 系列设备不存在该问题。

https://developer-cn.picoxr.com/document/unity/pdc-troubleshooting/
3.pico unity openXR sdk
OpenXR是国际通用的vr开发协议,目的是为了解决各个硬件设备自己搞自己的sdk,导致开发不兼容的情况
理论上有了openXR,一次开发就可以部署到多个不同品牌的设备里。
现在主流设备都支持openXR,但各家 依然保留了自己的sdk,所以一般都会提供两套sdk,一套私有的,一套支持openXR的,但很多新特性只有私有SDK才支持
主要用于开发相关的功能,本身就是用于跨平台的开发,设计的愿景就是开发者只需要编写一次代码,就能够把这个XR的应用打包发布到不同的硬件设备上。要额外再导入一个pico unity openXR sdk.因此选用openXR作为底层插件,结合XR interaction toolkit作为高层的开发sdk,我们就可以用这套组合的开发方式,来进行跨平台设备的开发。但是更新频率很慢。
苹果目前不支持openXR标准
Unity之OpenXR+XR Interaction Toolkit接入HTC Vive
前言
目前VR领域,最流行的设备要当属HTC VIVE了。以前在Unity端接入HTC VIVE设备时,都是通过SteamVR+VRTK来接入的。但是随着Unity的版本升级和OpenXR标准的流行,再加上VR设备的逐渐增多。SteamVR+VRTK的方式已经无法更好的满足大家的需求。
我今天为大家分享的就是,如何基于Unity2020或Unity2021, 通过OpenXR标准来接入VR,可以同时适配所有的VR设备,包括HTC ViVE,Pico,Occlus等,今后不管什么设备只要API是符合OpenXR标准,我们就可以通过Unity的OpenXR方式接入,而且接入流程非常简单,使用起来也比之前SteamVR+VRTK的方式要简单方便,可谓是一举多得。
openXR
OpenXR 旨在标准化各种 VR / AR 平台上的设备和应用程序之间的规范。它由 Khronos Group 制定,Khronos Group 是一个由 VR/AR 相关公司组成的组织。 微软、HTC,Valve等多家公司都参与了。
随着VR和AR的热潮,越来越多的软件公司开始进入该领域,同时也有越来越多的VR/AR设备出现,在进行VR开发的时候,开发者们要根据不同的VR设备厂商来使用不同的SDK进行应用开发。如果没有跨平台的标准,高昂的开发成本一定会限制市场的增长。如下图所示:


4.pico Unity Avatar SDK

5.PDC平台
简称PDC,该软件提供一些pico开发者工具,还能用于串流调试。

6.串流方式选择
介绍
串流实际上就是电脑帮我们把游戏的画面渲染好,传输到我们的VR眼镜上,我们的VR眼镜相当于一个显示器,本质上是一个本地信号的传输。

注意:
①PicoXR和PicoOpenXR插件互斥,只能选择其一。
②如果想打包Android,两插件选其一都能打包apk,PicoXR插件功能比PicoOpenXR多一点,UE5.6未来PicoOpenXR将渐渐补完PicoXR的独有功能。
③如果想打包exe,进行PC端的VR串流画面给头显,只有选择OpenXR+PicoOpenXR。
④安装PC端的PDC、互联、串流软件时,关闭PC端的防火墙,例如360安全卫士
⑤使用PDC串流时,可以把企业串流或者pico互联的app和exe都关闭。
⑥如果打开2个VR项目,第2个打开项目的PDC串流预览按钮是灰色的,估计PDC串流服务只能单例。
⑦如果想切换PicoOpenXR插件并改回OpenXR/SteamVR串流,发现PC端VR运行时的预览窗口大小不对,可以通过删除项目工程的缓存文件进行修复。
⑧安装PDC的工具包【串流服务】时注意关闭360软件,(仅 PICO 4 Ultra) 前往 设置 > 通用,关闭 电脑互联自动发现 开关,然后再将其开启,从而为 PDC 工具开启串流模式。
⑨开启pdc插件后,引擎默认的fps无法显示
Pico串流分为:
🅰️pico互联(无线)
https://www.bilibili.com/video/BV1pP411w7em/
使用PicoOpenXR+OpenXR插件+Pico互联,无线串流和网速无关,只和你的WiFi发射的最大速率有关,一般支持5G频段的路由器拿来串流
步骤:
- 电脑端和眼睛端都连同一个WiFi
- 在电脑端-打开PICO互联exe
- 在眼镜端-打开pico互联app
- 两个连着差不多了,再电脑端-打开steam vr,steam实验室(SteamVR串流,项目加载PicoOpenXR + OpenXR插件,(PicoXR插件不支持PC的SteamXR串流模式))

🅱️PDC平台
有线串流
https://www.bilibili.com/video/BV1WP411M7S1/?spm_id_from=333.337.search-card.all.click&vd_source=e885e3d8bb51ad56c660a8504f912255
https://developer-cn.picoxr.com/document/unreal/pdc-faq/
https://www.bilibili.com/video/BV1pi421d7o3/
使用PicoXR+PicoLivePreview插件的【PDC串流调试】,最后安装apk,再投屏到PC显示器实现伪串流。
PDC串流,搭配PicoXR + PicoLivePreview插件,项目需求是打包Android apk。
笔者安装PDC的目的,是用于复制获取Pico一体机内的截图录屏和log
**理由是:**虽然可以PDC串流时调用手势开发,但是rhi为DirectX 11 和PDC串流使得显卡满载导致画面太卡出现拖影黑块,影响优化判断,串流调试结束后,如果使用PicoXR插件打包apk时,需要切回Direct12和勾选实例化立体(Instanced Stereo),
如果需求是打包exe进行PC串流,则只能改成勾选OpenXR+PicoOpenXR插件。
【个人不推荐PDC串流调试,只推荐安装PDC】
主要用于开发apk时,直接使用PC端进行串流调试。PDC串流调试,项目加载PicoXR插件和PicoLivePreview插件,打包apk不影响,打包exe不支持,即使单独勾选PicoXR打包exe成功也不能使用VR串流。
步骤:
- 用有线先把眼镜和电脑连接
- PDC平台
- unity-PicoLivePreview插件

7.pico打包设置
注意事项
- quality medium,关闭Sync,sync count中选择dont sync
- vulkan 必须使用unity2020.3.13以上版本,不然在projectSetting-Player-Graphics API中移除Vulkan
- 是否勾选了pico XR平台
⭕ 打包的时候,签名关联的 APK 数量超出限制如何处理?
自设备系统版本 5.11.0 起,一个签名(Key)最多可关联 50 个 APK 文件。超出该限制的 APK 文件将无法在 PICO 设备中运行。
处理链接跳转: https://developer-cn.picoxr.com/document/unity/number-of-apks-associated-with-a-key-exceeds-limit/
为什么每次关闭工程再打开的时候就又得设置一遍呢?????????????????????????
xingtong123
key2
zhouzhou123

7-Meta Quest 3设备(pico也差不多)
✅unity安装和环境配置部分
Android build support :Meta Quest 3(支持open XR标准)和pico用的是安卓系统
visionOS build support:苹果的apple vision pro用的是这个visionOS系统
unity分为国际版和国服特供版,可以通过unity版本的后缀
环境配置步骤:
Project Validation就是环境配置的检查工具。它会检查我们项目当中的一些配置是否是符合要求的,不符合的会显示黄色警告和红色报错,有FIX ALL按钮。
- unity开发模板的选择
- 默认3D(Built-In Render Pipeline)使用unity 内置的渲染管线,需要把模板改成Universal 3D,它使用的是Unity的URP渲染管线,URP渲染管线相比于unity内置的渲染管线,在有些时候可能性能消耗会更少。
- 把打包发布的平台切换成Android
- Editor➡️Project Setting➡️XR Plugin Managerment➡️Instance➡️plug-in providers插件供应商选择对应的XR插件➡️设置开发架构里的底层插件➡️open XR➡️我们开发的程序就能兼容到pico系统当中➡️开始安装openxr的插件➡️安装成功后弹出弹窗-openxr插件需要使用unity新版的输入系统就是input system,但是新创建unity工程默认的是旧版的输入系统,所以重启一下项目自动导入新版的输入系统➡️Yes
- 在PC端和安卓端都需要设置底层插件:重启后➡️XR Plugin Managerment下方多了两个选项:openXR和Project Validation➡️点击电脑端选项➡️勾选openXR,通过PC串流端进行调试,在电脑端运行,在眼镜端显示,直接查看编辑面板的状态变化
- 修复:安卓端有红色报错,PC端有黄色警告➡️点击安卓➡️点击Project Validation ➡️点击Fix All自动修复➡️点击安卓➡️点击Project Validation ➡️点击Fix All自动修复
- 添加配置文件:点击安卓和PC端➡️点击Project Validation➡️ 点击Editor➡️Enabled Interaction Profiles添加与硬件设备兼容的交互配置文件(openXR为我们准备好的一些配置文件)【Meta Quest 3是Oculus Touch Controller Profile和Meta Queat Touch Pro Controller Profile自追踪手柄】
- 如果你想换一个平台进行开发,原先应用当中的交互功能也无需发生改变,只需要把程序适配到对应的硬件平台。

勾选Meta Quest Support就会有黄色警告
urp导致的渲染警告
项目文件夹里找到Setting文件夹,点击这个配置文件的

鼠标右键 remove,把这个渲染特性移除掉

还有这个也移除掉。然后重新启动unity
