【備忘】UnityでApple Vision Pro向けの開発環境を構築する


# はじめに
2024年6月28日に日本でもApple Vision Pro[[参考1](#参考)]が発売されました。今回はApple Vision Pro向けのテンプレートを動作させることを目的に、Unityで開発環境を構築する際に役立った情報を整理します(2024/07/23時点)※。

※ 本記事は、試行錯誤で得られた情報を共有するもので、公式の情報や条件を示すものではございません

# 開発環境
- Unity Industry[[参考2](#参考)]
- Unity 2022.3 LTS[[参考3](#参考)]
- Xcode15.4 [[参考4](#参考)]※ 
- macOS 14.5 [[参考5](#参考)]
- MacBook Pro(M1,2020,メモリ16G)
- Apple Vision Pro (日本で購入、visionOS 1.2)

※ 実機用ビルド時にエラーが出る問題が発生中。シミュレータ用ビルドは問題なし。

# Vision Proの設定
以下の4つを設定すると、Xcode上で認識されました(いくつかの設定は不要な可能性あり)。
- Apple IDでログイン(Macと同一のもの)
- WIFI設定(Macと同一のもの)
- デベロッパー開発許可設定(アプリ作成時)[[参考６](#参考)]
- Macとのペアリング[[参考7](#参考)]

# Unityの設定
引用元の通り進めていけばテンプレートのシミュレータの実行まで問題なく進められました。

>　作業手順（引用元[[参考8](#参考)])
>　1. PolySpatial Immersive Templateをダウンロード
>　2. Xcode 15をインストール
>　3. XcodeのvisionOS SDK / Simulatorをダウンロード
>　4. Play to Deviceをセットアップ
>　5. シミュレータの実行
>　6. Unityアプリのビルド＆Xcodeでの実行


### テンプレート実行結果（シミュレーター画面）

![sample1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/892617/f35dbb97-0466-bee5-9333-b69f8b717dea.png)
**Unity template project**

![sample2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/892617/df2b410f-f30d-e2a9-413c-7fb1ac171af4.png)
**PolySpatial samples(BalloonGallery)**

![sample3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/892617/94e65c0d-3a91-0a6b-b913-ad6d14beeeae.png)
**PolySpatial samples(CharacterWalker)**


# Unityの設定で詰まったところ
- 共有キャッシュシンボルのコピー[[参考9](#参考)]

Xcodeでの初回実行時に以下の表示が出た場合、100% completedになるまでVision Proをつけたまま待機する必要があります（待機しないと実行できないらしく、30分以上待機しました）。

```markdown:
Copying shared cache symbols from Apple Vision Pro (0% completed)
```

- TARGET SDKの選択
Unityアプリのビルド時、シミュレータ用と実機用でビルド方法が異なるので注意[[参考10](#参考)]

- VisionOS向けのUnityアプリのビルド
VisionOS向けに作成していないUnityアプリを移植したい場合は、ビルドできる機能が限られているので確認のこと[[参考11](#参考)]

- その他
実際に詰まったわけではありませんが、公開情報を見る限り、開発環境のバージョンには通常以上に注意を払う必要があると感じました(ビルド時に予期しないエラーが出ることがあるようです)。

# 感想
全体を通して、当初の想定よりも簡単に開発を始められる印象を受けました。

シミュレータで動作確認ができるため、Vision Proの実機がなくともコーディングの確認を進められるのはやり易いです。また、今回のようなテンプレート実行の範囲であればメモリ16GのMacbookProでも問題なく動作しました。

最後に、今回Vision Proを初めて触るにあたって、上記で引用したもの以外で参考にさせていただいた資料はこちら[[参考12-19](#参考)]です。

UnityでApple Vision Pro向けの開発環境を構築する際の参考にしていただけますと幸いです。
改善点やご質問などあれば、コメントよろしくお願いいたします。

# 参考
1.	https://www.apple.com/jp/apple-vision-pro/
2.	https://unity.com/ja/products/unity-industry
3.	https://docs.unity3d.com/ja/2022.3/Manual/UnityManual.html
4.	https://developer.apple.com/jp/xcode/resources/
5.	https://developer.apple.com/documentation/macos-release-notes/macos-14_5-release-notes
6.	【Xcode】Developer Mode disabledと表示されて実機ビルドができないとき 【Developer Mode】 https://qiita.com/tsuzuki817/items/7a631928c03548002fb7
Xcode 実機登録の際に"アプリを検証できません" https://zenn.dev/yukiny/articles/254e5b4c572ad7
7.	手に入れたApple Vision Proでアプリ開発。シミュレータから実機で開発の設定をしよう（バスケの言い分　第2回） https://www.techno-edge.net/article/2024/02/05/2756.html
8.	UnityでApple Vision Pro / visionOS アプリを開発する！ https://qompass.nttqonoq.com/blog/visionpro_unity
9.	https://forums.developer.apple.com/forums/thread/746905
10.	[Vision Pro] Poly SpatialでのVision Proアプリ開発 1.2.3版 [Unity] https://qiita.com/afjk/items/74c35b254f31a0e3646b
11.	https://developer.apple.com/documentation/visionos/bringing-your-app-to-visionos/

12.	visionProの基本的なジェスチャとコントロール https://support.apple.com/ja-jp/guide/apple-vision-pro/tan1e2a29e00/visionos
13.	入力に反応しない時 https://support.apple.com/ja-jp/118511
14.	Apple Vision Pro で Mac に接続できない場合 https://support.apple.com/ja-jp/119942
15.	Unity公式 学習リソース https://unity.com/ja/campaign/spatial#resources
16.	Unity PolySpatialを使ってApple Vision Pro向けアプリを開発する https://zenn.dev/meson/articles/get-started-polyspatial
17.	Unity Editor と Unity PolySpatialを使って Apple Vision Pro の 空間コンピューティング アプリ開発 https://1planet.co.jp/tech-blog/applevisionpro-unity-polyspatial
18.	Apple Vision ProコンテンツをUnityで開発 https://lilea.net/lab/apple-vision-pro-get-started-with-unity/
19.	Vision Pro + UnityでHello Cube（Unbounded）する https://qiita.com/bamboo-house/items/48484c55cf63148a18ef