Unity HoloLens中Azure Spatial Anchor报“service unavailable or unspecified error found”错误的解决方法咨询
我之前也碰到过类似的Azure Spatial Anchors(ASA)服务不可用的问题,给你几个实用的排查和解决方向,一步步来应该能定位到问题:
检查Azure ASA资源状态与配置匹配
首先登录Azure门户,找到你的ASA资源,确认它处于正常运行状态(没有被暂停、删除,也没有触发配额限制)。然后回到Unity项目,打开带有AzureSpatialAnchorsConfig组件的对象,仔细核对Account ID、Account Key和Account Domain这三个参数,确保和Azure资源里的信息完全一致——别小看复制粘贴时的空格或字符错误,这是最常见的诱因。验证网络连接可用性
ASA依赖稳定的网络连接和Azure服务的访问权限:- 测试设备能否正常访问你的ASA资源对应的域名(比如
your-account-domain.spatialanchors.azure.com),可以用浏览器或ping命令简单验证 - 如果是在企业内网环境,检查防火墙、代理服务器是否拦截了ASA的请求,需要把ASA的服务域名加入网络白名单
- 测试设备能否正常访问你的ASA资源对应的域名(比如
确认SDK与Unity版本兼容性
你使用的Unity 2020.3.14和ASA SDK 2.10.2,建议确认这两个版本的兼容性。有时候版本不匹配会导致底层通信异常,你可以尝试升级或降级SDK到Unity 2020.3.x推荐的ASA版本。开启详细日志定位精确问题
模糊的"service unavailable"错误很难定位,建议开启ASA的详细日志:
在Unity编辑器中找到AzureSpatialAnchorsManager组件,把日志级别设置为Verbose,然后重新运行演示场景。查看控制台输出或生成的日志文件,里面会有更具体的错误细节——比如是认证失败、请求超时,还是服务端的特定错误码,这能帮你快速锁定问题根源。重新导入SDK与重置配置
有时候SDK导入过程可能出现文件缺失或损坏:- 删除项目中已导入的ASA SDK包,然后重新导入
com.microsoft.azure.spatial-anchors-sdk.windows-2.10.2.tgz,确保导入过程没有报错 - 重新配置ASA的凭据信息,避免之前的配置缓存导致的问题
- 删除项目中已导入的ASA SDK包,然后重新导入
检查权限与认证有效性
如果使用Azure AD认证方式,确认你的令牌是否有效,并且拥有访问ASA资源的权限;如果是密钥认证,检查Account Key是否过期或被重置过——可以去Azure门户重新生成密钥,然后更新到Unity项目中。
内容的提问来源于stack exchange,提问作者Sivamurugan

