Unity 6000系のARテンプレートで始めるAndroid ARアプリ開発
はじめに Unityがメジャーバージョンを6000系に切り替えてしばらくが経ちました⌛ Unity6000系へのアップデートを機に、改めてARアプリ開発を試してみようと思ったところ、開発手順に従来とは異なる点があるように感じました。特にARCore拡張機能導入部分などが、公式ドキュメントから追いづらくなった印象です...🫠 本記事では、Unity 6000 x ARFoundation 6 を用いて、セットアップから拡張機能の利用、そしてAndroid実機での動作確認までの流れを、画像を交えながら整理できればと考えています!

はじめに Unityがメジャーバージョンを6000系に切り替えてしばらくが経ちました⌛ Unity6000系へのアップデートを機に、改めてARアプリ開発を試してみようと思ったところ、開発手順に従来とは異なる点があるように感じました。特にARCore拡張機能導入部分などが、公式ドキュメントから追いづらくなった印象です...🫠 本記事では、Unity 6000 x ARFoundation 6 を用いて、セットアップから拡張機能の利用、そしてAndroid実機での動作確認までの流れを、画像を交えながら整理できればと考えています!
知識・情報
2025/10/17 UP
- 勉強・学習法
- Unity
- 技術
環境
利用した環境になります。
なお、UnityのAndroid向け開発環境一式はインストール済みです。
項目 | 内容 |
---|---|
開発PC | Windows 11 |
Unity Hub | 3.13.1 |
Unity | Unity 6000.0.31f1 |
ARFoundation | 6 (テンプレート同梱) |
ARCore Extensions | arf6 |
実行デバイス | Sony Xperia 1 III Android OS 13 |
開発プロセス
このセクションでは、プロジェクトの新規作成からARCore拡張機能の導入、実機での動作確認までの流れを順に解説します。
プロジェクト作成
Unityのプロジェクト作成時にはAR用テンプレートが選択でき、これを利用することでバージョンに対応したAR拡張ライブラリや推奨設定が自動で適用されます。
1.Unity Hub > New Project を選択します。
2.TemplateよりAR Mobileを選択し、『Create new project』または『Create new local project』よりプロジェクト名を指定しプロジェクトを作成します。
プロジェクト起動直後のシーンについて
ARMobileテンプレートを利用することで、ARFoundation 6系統がインポート済みでプロジェクトが立ち上がります。アクティブになっているSampleSceneには、既に平面検出を行いタップ動作でオブジェクトを生成する処理が含まれています。
またUnityEditorでの簡易デバッグも既に利用できるため、Playボタンクリックでサンプルシーンが動作する状態です。ここで、EditorPlayモードでは次の操作で移動が可能でした。右クリック:視点回転、右クリック+WASD:平面移動、右クリック+QE:上下移動
また、ARCoreの基本機能も導入済みなので、Switch PlatformでAndroidを選択してターゲットを変更したのち、デバッグ接続したAndroid端末に向けてBuild & Runで実機でもAR機能が動作します。
ARCore Extensionsの導入
ARTemplateを導入するだけで、基本的なAR機能に関してはアウト・オブ・ボックスで動作しますが、ARCore特有の拡張機能を利用したい場合には、追加インポートが必要となります。また、Extension用のGameObjectをシーンに配置する必要がありました。
パッケージインポート
GoogleのAR Foundation 向け ARCore Extensions のスタートガイドを確認すると、拡張機能のインポート方法が記載されています。
こちらの記事ではhttps://github.com/google-ar/arcore-unity-extensions.git#arf5
を取り込むよう記載がありますが、現在利用しているARFoundationのバージョンは6です...。
ただ、記載されているGitHubを確認するとarf6も存在しているため、こちらを利用できます。
拡張機能のインポート後に、Gradle Templateが存在しないとエラーが発生するため、事前にProject Settings > Playerより、Custom Main Gradle Templateを有効にしておきます。
その後、PackageManagerより、https://github.com/google-ar/arcore-unity-extensions.git#arf6
を利用してパッケージをインポートします。
インポート後、UnityのProjectウィンドウのPackages以下に拡張機能が入れ込まれていればインポートが成功しています。スクリプト上では、using Google.XR.ARCoreExtensions;
が宣言できるようになっています。
GameObject追加
拡張機能をインポートするだけではシーン上から拡張機能を利用することができません。拡張機能を有効化するために新しくARCore Extensionsを追加し、各種参照を追加します。
参照はAR Core Extensionsを選択し、検索ボタンからシーン内のオブジェクトを順次追加していけばOKです。
機能の追加
これで拡張機能が利用できるようになりました。例えばセッションの録画・再生機能であれば、Android をターゲットとする AR Foundation で AR セッションを録画して再生するのコードをほぼそのまま追加すれば動作するようになるかと思います。
ただし、AR Core ExtensionsはUnityEditor上では動作しませんので、Android実機以外ではGameObjectを非アクティブにしておくような操作が必要となります。
その他:入力システム
AR部分以外に、入力システムもテンプレートでは新しいものになっていて混乱したため、新しい入力システムの利用についても整理しました。
AR Templateでプロジェクトを生成した場合、入力システムは新しいInput Systemが有効になっており、古い入力機能(Input.~~)が利用できません。シーン内のScreenSpaceSelectInput.csを参考に、XRInputValueReaderから値を読み込んで入力判定をする必要がでてきます。
タップの判定例
[SerializeField]
UnityEngine.XR.Interaction.Toolkit.Inputs.Readers.XRInputValueReader<Vector2> m_TapStartPositionInput = new ("Tap Start Position");
...
var input = m_TapStartPositionInput.ReadValue();
おわりに
私がUnityのARMobileTemplateを利用してARアプリを導入する際に、いくつか詰まった点を整理しました。
新しくAR Coreの拡張機能を用いてARアプリを作ろうとする方の、何らかの参考になれば幸いです。ご一読ありがとうございました!
参照
文献
AR Foundation 向け ARCore Extensions のスタートガイド
Android をターゲットとする AR Foundation で AR セッションを録画して再生する
生成AI
この記事を書いたメンバー
クラウドソリューション第1チーム 穂積正隆
※こちらの画像は生成AIで作られており、著作権に問題があるご指摘を頂いた場合はすぐに修正致します。