Unity 2021 OpenXR 打包手柄追踪正常 编辑器场景无手柄追踪
Unity编辑器模式下Oculus Quest手柄追踪失效修复方案
故障特征:打包部署到Quest头显运行时手柄追踪完全正常,仅Unity编辑器进入Play模式时无法识别Oculus Touch手柄,头部追踪功能可正常工作;更换Oculus Link专用线、尝试AirLink连接均未解决问题。
适用环境说明:
- Unity 2021.3.4f1
- Windows 11 桌面端
- 已安装Oculus桌面客户端、SteamVR
- 场景已配置基于Action的XR Origin预制体
1. 修复XR插件平台配置错误(最高发原因)
绝大多数同类问题都是只配置了安卓端(头显原生运行)的XR插件,漏配了桌面端(编辑器运行)的插件:
- 打开路径
Edit > Project Settings > XR Plug-in Management - 切换到 PC, Mac & Linux Standalone 标签页,勾选
Oculus插件,不要仅在Android标签页下勾选Oculus插件 - 进入XR Plug-in Management下的Oculus设置页,确认
Oculus Touch Controller Profile已加入支持的控制器列表,删除列表内无关的控制器配置避免优先级抢占 - 打开路径
Edit > Project Settings > Player > Resolution and Presentation,勾选Run In Background选项,避免编辑器窗口失焦时追踪数据断传
2. 校验Oculus Link连接状态
头部追踪正常不代表Link输入通道完全打通:
- 打开Oculus桌面客户端,进入设备管理页,确认连接的Quest头显状态显示为Link已激活,如果显示为充电/媒体传输模式,重新插拔线缆,在头显弹出的连接授权弹窗中选择允许启用Link
- 进入Oculus客户端通用设置页,打开
允许未知来源应用开关 - 先操作手柄进入Oculus Link虚拟主页,确认手柄可正常操控主页菜单后,再切回Unity启动Play模式,不要在头显停留在原生系统主页时直接运行编辑器测试
3. 修复输入系统配置问题
基于Action的XR Origin依赖新输入系统,配置缺失会导致手柄追踪数据无法读取:
- 打开路径
Edit > Project Settings > Player > Other Settings,找到Configuration板块下的Active Input Handling选项,设置为Input System Package (New)或Both,不要仅选择旧版Input Manager - 打开项目使用的Input Action配置资产,进入绑定编辑页,确认Oculus Touch控制方案已正确绑定到左右手柄的位置、旋转追踪及按键输入Action,保存资产配置
- 选中场景内的XR Origin对象,检查挂载的控制器组件,确认左右手柄的追踪引用、输入Action引用无Missing丢失情况
4. 排除软件冲突
配置全部正确仍失效时,排查后台程序抢占问题:
- 完全退出SteamVR,编辑器直连Oculus客户端时,SteamVR后台运行会抢占手柄输入权限,导致Unity无法获取追踪数据
- 打开任务管理器,结束所有OVR Service、Oculus Server相关进程,重启Oculus客户端后重新连接Link
- 若项目同时导入过OVR Integration插件,确认插件版本与XR Plug-in Management内置的Oculus插件版本一致,版本不兼容会导致输入通道冲突,可删除重复插件文件后重新导入匹配版本
验证标准:完成配置后启动编辑器Play模式,XR Origin下的左右手柄对象会自动激活,位置旋转追踪、按键输入均可正常响应,无需每次打包到头显测试功能。
内容的提问来源于stack exchange,提问作者BTKdev
相关产品推荐
相关产品推荐

