Unity升级至2022.3.7f1后HoloLens 2无法使用GazeInput
Unity 2022.3升级后GazeInput功能失效排查方案
检查OpenXR视线追踪配置
Unity 2022.x默认采用OpenXR作为XR框架,MRTK 2.8.3需要对应配置才能启用GazeInput:- 打开Project Settings > OpenXR,在Interaction Profiles中添加「Windows Mixed Reality Eye Gaze Profile」;
- 在Features面板里启用所有和Eye Gaze相关的选项,确保OpenXR能读取视线数据。
同时要确认MRTK输入配置里,Gaze Input的数据源指向OpenXR Eye Gaze,而非旧的Windows Perception API。
验证MRTK的Gaze输入配置
打开MRTK的配置文件(MRTK Configuration Profile),进入Input Configuration:- 确认Gaze Input Provider已勾选启用;
- 检查相机设置里的「Enable Eye Tracking」选项是否开启,保证MRTK能正确接收OpenXR传递的视线数据。
权限声明的二次校验
虽然你已经确认了Package.appxmanifest里的gazeinput设备权限,但Unity 2022.x打包时可能会覆盖配置:- 在UnityPlayer Settings > Publishing Settings > Capabilities中,除了勾选Gaze Input,还要确认Webcam权限是否开启(视线追踪通常依赖摄像头权限,新版本可能需要手动勾选);
- 打包后用Visual Studio打开项目,再次检查
Package.appxmanifest,确保<DeviceCapability Name="gazeinput" />确实在<Capabilities>节点下,没有被打包流程移除。
适配MRTK版本细节
MRTK 2.8.3对Unity 2022.x的支持可能存在小兼容问题:- 尝试升级到MRTK 2.8.4(2.x分支最新版);
- 确认MRTK OpenXR扩展包已正确安装,且所有相关包版本匹配。
系统权限手动确认
前往Windows设置的隐私和安全性 > 权限 > 视线输入,检查你的应用是否被授予权限。版本升级后系统权限可能被重置,即使应用请求过,也需要手动确认授权。
内容的提问来源于stack exchange,提问作者KarlSupertramp
相关产品推荐
相关产品推荐

