Unity构建含Vuforia的桌面PC应用,打包后摄像头无画面且报DllNotFoundException
解决Unity+Vuforia桌面应用打包后DllNotFoundException及摄像头无画面问题
针对编辑器运行正常、打包后弹出DllNotFoundException: Vuforia Wrapper assembly <unknown assembly> type: <unknown type> member: null错误且摄像头无画面的问题,按以下步骤排查修复:
1. 核对Vuforia打包平台配置
- 打开Build Settings,确认目标平台为Desktop(Windows/Mac),点击
Player Settings:- 确保
XR Plug-in Management中已勾选Vuforia Engine - 切换到Vuforia专属设置页,确认对应平台(如Windows)的
Include Vuforia Engine选项已勾选,架构选择x86_64(匹配当前PC硬件) - 检查
Camera Usage Description是否填写(部分系统需要明确权限说明)
- 确保
2. 确认Vuforia DLL已被正确打包
- 找到应用打包后的输出目录,进入
Plugins文件夹,检查是否存在VuforiaWrapper.dll(Windows)或libVuforiaWrapper.dylib(Mac) - 若文件缺失,从Unity项目的
Packages/com.ptc.vuforia.engine/Plugins/[对应平台]目录下复制该DLL到打包后的Plugins文件夹,重启应用 - 排查杀毒软件:部分安全软件会误判Vuforia的DLL为恶意文件,将应用安装目录加入杀毒软件白名单
3. 清理并重新导入Vuforia包
- 打开Package Manager,找到Vuforia Engine并移除
- 关闭Unity,删除项目根目录下的
Library文件夹(提前备份项目重要文件) - 重新打开Unity,通过Package Manager安装与当前Unity版本兼容的Vuforia稳定版(优先选官方标注兼容的版本,不必盲目追新)
- 重新配置Vuforia License Key,确保密钥有效且未过期
4. 调整Unity打包的脚本后端设置
- 进入
Player Settings->Other Settings->Configuration:- 将
Scripting Backend改为IL2CPP(Vuforia对IL2CPP的兼容性优于Mono,能减少DLL加载异常) - 确保
Architecture选择x86_64 - 打包时勾选
Development Build并开启Script Debugging,获取更详细的错误日志以定位具体缺失的依赖
- 将
5. 验证PC端摄像头权限
- Windows系统:打开「设置」→「隐私和安全性」→「相机」,确认你的应用已被授予摄像头访问权限
- Mac系统:打开「系统设置」→「隐私与安全性」→「相机」,勾选你的应用
内容的提问来源于stack exchange,提问作者debora
相关产品推荐
相关产品推荐

