visionOS 工程配置

除以下配置外,还需要注意 EasyAR 配置 中的配置。

向Apple Inc.申请企业API许可

注意

请根据 Building spatial experiences for business apps with enterprise APIs for visionOS 向Apple Inc.申请企业应用相机API的entitlement并获取license 。(注意,这个License是Apple公司分发的文件,与EasyAR的License不是一个事物)。

请注意,申请Enterprise entitlement时使用的Bundle ID应与创建EasyAR Sense License Key时填写的一致。

环境要求

  • visionOS 2.0及以上

  • 对应visionOS版本的Xcode16.0及以上并安装visionOS simulator

  • 推荐的Unity版本: 6000.0.23+

Unity visionOS App Mode

Unity的visionOS有4种App模式,其中

EasyAR支持的App Mode有,
  • Metal Rendering with Compositor Services

  • RealityKit with PolySpatial

  • Hybrid - Switch Between Metal and RealityKit

EasyAR不支持的App Mode有,
  • Windowed - 2D Window

../_images/image_g11_17.png

这些模式的差别和使用差异请阅读Unity官方文档。

安装Unity插件

需要安装的Unity插件:

Unity 6+

App Mode = Metal:
  • com.unity.xr.visionos (2.0.4+)

App Mode = RealityKit/Hybrid:
  • com.unity.xr.visionos (2.0.4+)

  • com.unity.polyspatial (2.0.4+)

  • com.unity.polyspatial.visionos (2.0.4+)

  • com.unity.polyspatial.xr (2.0.4+)

上面所有插件的版本号需一致

Unity 2023+

部分早期发布的unity 2023.x并不支持构建visionOS包,请使用Unity 6。

Unity 2022.3.19+

App Mode = Metal:
  • com.unity.xr.visionos (1.2.3)

App Mode = RealityKit/Hybrid:
  • com.unity.xr.visionos (1.2.3)

  • com.unity.polyspatial (1.2.3)

  • com.unity.polyspatial.visionos (1.2.3)

  • com.unity.polyspatial.xr (1.2.3)

上面所有插件的版本号需一致

注意

请勿使用1.3.x版本,该版本经验证不能使用。


构建平台配置

切换并确认Build Platform为 visionOS :

../_images/image_g11_1.png

Input System 配置

Edit > Project Settings > Player

  • 设置 Active Input HandlingInput System Package(New)

../_images/image_g11_6.png

此后Unity会要求重启工程,点击 Apply 使改动生效,

../_images/image_g11_5.png

XR Plug-in Management 配置

Edit > Project Settings > XR Plug-in Management

  • Plug-in Providers 勾选 Apple visionOS

../_images/image_g11_3.png

Edit > Project Settings > XR Plug-in Management > Apple visionOS

  • 根据需要选择EasyAR支持的 App Mode

../_images/image_g11_17.png
  • 添加 World Sensing Usage Description

  • 设置 Metal Immersion Style 设置为 Mixed

  • 设置 Reality Kit Immersion Style 设置为 Mixed

  • 勾选 IL2CPP Large Exe Workaround

../_images/image_g11_4.png

PolySpatial 配置

备注

App模式为RealityKit或Hybrid时需要配置。

Edit > Project Settings > PolySpatial

  • 设置 Default Volume Camera Window ConfigDefault Unbounded Configuration

  • 勾选 Auto-Create Volume Camera

../_images/image_g11_2.png

如果 Default Volume Camera Window Config 需要使用其它配置,确保其 ModeUnbounded

../_images/image_g11_19.png

删除场景中的 Volume Camera (如果存在)

../_images/image_g11_20.png
  • 如果场景中存在 Volume Camera ,请先删除

  • (不推荐)若因为一些原因需要添加一个 唯一 的自定义 Volume Camera ,请将其 World Transform 设为 identity ,并确保其 Volume Camera Window ConfigurationMode 设置为 Unbounded ,请阅读Unity官方文档,并在完全清楚其含义和用途的前提下使用。

  • 不支持 World Transform 数值不是 identityVolume Camera

注意

请务必确认场景中 不存在 Volume Camera 或已按上述描述设置。

TextMesh Pro 配置

备注

App模式为RealityKit或Hybrid时需要配置。

Edit > ProjectSettings > TextMesh Pro

  • 点击 Import TMP Essentials

../_images/image_g11_7.png

备注

目前RealityKit with PolySpatial仅支持TextMesh Pro文字


Bundle ID

设置visionOS应用的Bundle ID, 注意Bundle ID要与创建License Key时填写的一致,并且与向苹果申请的Enterprise entitlement中的Bundle ID一致 。在Player Settings面板设置如下。

../_images/image_g11_8.png

如果License Key异常(比如Bundle ID不匹配),在打包应用时将会看到如下弹出提示

../_images/image_g11_9.png

这时如果选择继续打包,打包出的应用将无法正常使用,请根据窗体提示仔细检查并修复问题后再继续打包。

备注

在一些特殊情况,如果你使用EasyAR的接口手动初始化,不使用Setttings文件中的License Key,你可以选择 Continue and don't warn me again ,或者关闭 :EasyAR 配置 中的 EasyAR Sense License > Verify When Build 选项,这将关闭打包时的检查。

Usage Description配置

根据 EasyAR 配置Permissions 中的启用情况,需要配置不同的Usage Description。

如果 Location 权限开启,需要添加 Location Usage Description,否则构建将失败。

备注

Unity目前仅在IOS的PlayerSettings中有Location Usage Description字段,在IOS的PlayerSettings中设置的Location字段在VisionOS中也能生效

../_images/image_g11_12.png ../_images/image_g11_13.png

相机权限配置(XCode工程)

通过Unity生成XCode工程,然后在 Signing & Capabilities 页面中 点击 +Capability ,添加 Main Camera Access

../_images/image_g11_15.png

备注

若之前没有向Apple成功申请相应的enterprise entitlement,这一项不会显示

将申请得到的Enterprise.license文件复制到XCode工程目录,并添加至XCode工程中

../_images/image_g11_16.png

EIF默认文件读取配置(XCode工程)

备注

非必需,仅在使用默认路径录制eif并需要获取到电脑上时设置。

若需要录制EIF到默认目录并通过Vision Pro的文件应用投送到电脑或其他设备,需要在 Info.plist 中增加以下字段:

  • 添加 LSSupportsOpeningDocumentsInPlace 并将值设置为 true

  • 添加 UIFileSharingEnabled 并将值设置为 true

备注

添加之后显示的文字与添加的字符串不同,这是正常的。

../_images/image_g11_18.png