Unityを用いてApple Vision Proのアプリやコンテンツを作る手順についてまとめました。
visonOSのシミュレーターで動作確認するところまでまとめています。
基本は公式マニュアルの通りではありますが、ところどころ躓くところもあったので備忘録としてスクショ多めで。
参考記事
名称
Unityで制作できるアプリのタイプの名称について一旦整理。
- ウィンドウアプリ → Windowed Apps on visionOS
- VRアプリ → Fully Immersive VR apps on visionOS
- MRアプリ → PolySpatial MR Apps on visionOS
要件
要件はこちら。
- Xcode 15.2
- Apple SiliconのMac
- Unity 2022.3.18f1 以降
- Unityのモジュールは「visionOS Build Support」と「iOS Build Support」の両方
環境構築とセットアップ
まずはXcode 15.2を入れる。
visionOSにチェック入れる。
Unityのバージョンは2022.3.18f1以降。
2023は現時点ではLTSではないので2022を使う。
テンプレートは2022.3.18f1なので同じバージョンをインストールする。
Appleシリコン版の方をインストールする。
モジュールはvisonOSとiOSの両方を入れる。
1からMRのプロジェクトを作成する場合
パススルーを用いたMixed Reality(PolySpatial MR)のコンテンツを作成する場合の手順です。
VR(Fully Immersive)のコンテンツの場合については次項。
このマニュアルに従って作成する。
まずUnity2022.3.18f1で新規プロジェクト作成。
ビルトインシェーダーでも動作はするがMRのサンプルコンテンツはURPで作られているので特別な理由がなければURPで作るのが良さそう
Project SettingsでXR Plugin Managementをインストーする。
Apple visionOS
を有効にする。
XR Plug-in ManagementのApple visionOSを開きMixed Reality
を選択する。
このMixed Realityを選択したことで以下の3つのパッケージがインストールされた。
com.unity.polyspatial
com.unity.polyspatial.visionos
com.unity.polyspatial.xr
Usage Descriptionに適当な文章を記入する。
例)
Use hands tracking
Use world sensing
環境構築は以上だが、サンプルシーンを使う場合は Packages > PolyStatial > Sample からインポートする。
インポートしたシーンはこちらにある。
各サンプルシーンの概要はこちら。
プロジェクトの作成は以上。
続いて、実機ビルドせずに実行結果をUnityエディタ上で確認できるvisionOSシミュレーター「Play to Device」を設定しておくと便利です。こちらについては記事の後半に記しました。
1からFully Immersiveのプロジェクトを作成する場合
Fully Immersiveのプロジェクト。
つまりMRは使用しない、完全没入のVRのプロジェクトを作成する場合。
こちらのマニュアルに従って進める。
XR Plug-in ManagementのApple visionOSを開くところまでは前項目のMRのときと同様の手順。
Fully Immersiveの場合はここでVirtual Reality
の方を選択する。
テンプレートからFully Immersiveアプリを作成する場合
前項目はUnityプロジェクトを1から構築する場合だったが、ここではテンプレートを使用する場合について。
テンプレートのzipを解答しUnityで開く。
(テンプレートを使った場合はXR Plug-in ManagementのApple visionOSのチェックは既に入っている
(必要なパッケージも既に入っている
メニュー > Tutorial > Show Tutorials を選択。
表示されたウィンドウ内にある各ボタンをクリックすると、VRコンテンツを制作するためのチュートリアルが開始される。
visionOSシミュレーター Play to Device の設定
visionOSのシミュレーターの設定。
こちらのマニュアルを参考に進める。
ディスカッションページはこちら。
1. macでの準備
PlayToDeviceHost-1.0.3.zipをダウンロードする。
zipを解凍する。
Xcodeを起動しSimulatorを起動する。(またはComannd+SpaceからSimulatorを実行)
ここでiPhoneのシミュレーターが立ち上がってしまった場合は、アプリ上のメニューからApple Vision Pro
を選択する。
ダウンロードしたPlayToDeviceHost.app
をシミュレーター画面内にドラッグ&ドロップする。
2. Unityでの設定
3. シミュレーターの実行
visionOSのシミュレーターでPlay To Device Hostアプリを起動する。
この状態でUnityでPlayするとシミュレーター側に表示される。
以上。
Unityでのビルド
通常通りのビルドでOKだが、私の環境では以下のエラーが出てしまった。
Building Library/Bee/artifacts/iOS/AsyncPluginsFromLinker failed with output:
UnityEditor.Build.BuildFailedException: Burst compiler (1.8.12) failed running
stdout:
Internal burstc error:
Burst.Compiler.IL.Aot.AotLinkerException: Failed to determine xcode installation path - "xcode-select -p" is XCode installed? xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
こちらの記事を参考に対応しました。
ターミナルに以下のコマンドを実行です。
sudo xcode-select --switch /Applications/Xcode.app
これでエラーなくビルドできるようになりました。
以上!