Android XR を搭載した Samsung Galaxy XR が登場しました。このブログ投稿は、 Android XR Spotlight Week の一環として公開されています。このイベントでは、Android XR 向けアプリの学習、構築、準備に役立つリソース(ブログ投稿、動画、サンプルコードなど)を提供しています。
XR 開発を始めるなら今が絶好のチャンスです。昨年 12 月に Google は、OpenXR や Vulkan などのオープン スタンダードを基盤とする新しい Android プラットフォームである Android XR を発表しました。これにより、XR 開発がこれまで以上に身近になりました。
Unity の既存の XR ツールと組み合わせることで、強力で成熟した開発スタックが実現します。これにより、複数のデバイスで動作する XR アプリを作成してデプロイできます。
XR 開発の経験の有無にかかわらず、スタートアップをサポートしたいと考えています。
このブログでは、Android XR と Unity の開発を始めるための手順について説明します。環境の構成、パッケージ エコシステムの理解、構築の開始に関する実践的な手順に焦点を当てます。
このブログを読み終える頃には、次のことを理解できるようになります。
- パッケージ エコシステム
- 基本的な設定手順
- 入力方法
- プライバシーと権限
- 合成レイヤ
Android XR 開発向けの Unity
Unity は、クロス プラットフォーム互換性があるため、一度ビルドすれば Android XR や他の XR デバイスにデプロイできます。
Unity を使用すると、成熟した XR エコシステムとツールを利用できます。XR Interaction Toolkit、OpenXR プラグイン、XR 合成レイヤ、XR Hands などの確立されたパッケージ、XR 対応のコンポーネントとテンプレートが豊富に用意されたアセットストア、XR シミュレーション ツールとテストツールがすでに用意されています。昨年 11 月に Unity 6 がリリースされたため、ユニバーサル レンダリング パイプライン(URP)のパフォーマンスの向上、Vulkan グラフィックのサポートの強化、ビルド プロファイルの強化といったメリットも得られます。
以下に、実現できることの例を示すサンプル プロジェクトをいくつか紹介します。
基本的な設定: 開発の基盤
Unity 6 の要件とインストール
アプリを作成するには Unity 6 が必要です。以前のバージョンでは Android XR がサポートされていません。まず Unity Hub をインストールし、次の手順に沿って Android Build Support モジュールを使用して Unity 6 をインストールします。
Android XR ビルド プロファイル: 構成の簡素化
Unity ビルド プロファイルは、プラットフォーム固有の設定と構成を保存するプロジェクト アセットです。そのため、複数のメニューで 15 ~ 20 個の異なる設定を手動で設定する代わりに、ビルド プロファイルを使用して自動的に設定できます。
独自のビルド プロファイルを作成することもできますが、今のところは Google が作成した専用の Android XR ビルド プロファイルを使用することをおすすめします。
Unity プロジェクトで [File] > [Build Profile] を選択して、ビルド プロファイルを選択できます。詳細な手順については、 Android XR 向けの開発ワークフロー ページをご覧ください。
独自に変更を加えた場合は、新しいビルド プロファイルを作成してチームと共有できます。これにより、ビルド エクスペリエンスの一貫性を確保できます。
これらの手順を完了すると、Android XR デバイス用の APK をビルドして実行できます。
グラフィック API: Vulkan が重要な理由
Unity プロジェクトに Android XR ビルド プロファイルを設定したら、まず Vulkan がグラフィック API として設定されていることを確認することをおすすめします。Android XR は、Vulkan ファーストのプラットフォームとして構築されています。2025 年 3 月に Google は、Vulkan が Android の公式グラフィック API になったことを発表しました。これは最新の低レベル グラフィック API であり、デベロッパーは最新の GPU のパフォーマンスを最大限に引き出し、レイトレーシングやマルチスレッドなどの高度な機能を活用して、リアルで没入感のあるゲームビジュアルを実現できます。
これらの標準規格により、既存のアプリケーションとの互換性が最大限に高まり、移植の問題やコストを軽減できます。また、URP Application Space Warp やフォービエイテッド レンダリングなどの高度な Android XR 機能を有効にすることもできます。
Unity 6 は Vulkan を自動的に処理するため、Android XR ビルド プロファイルを使用すると、Unity は Vulkan をグラフィック API として構成します。これにより、手動で構成しなくても、すべての高度な Android XR 機能にアクセスできます。
グラフィック API の設定を確認するには、[Edit] > [Project Settings] > [Player] > [Android tab] > [Other settings] > [Graphics APIs] に移動します。
パッケージ エコシステムについて
Unity で Android XR に使用できるパッケージは 2 つあります。1 つは Android XR Extensions for Unity を使用する方法、もう 1 つは Unity OpenXR: Android XR パッケージを使用する方法です。
これらは同じもののように聞こえるかもしれませんが、しばらくお待ちください 。
Unity OpenXR: Android XR パッケージは、Android XR サポート用の公式 Unity パッケージです。OpenXR 標準規格を通じて利用できる Android XR 機能の大部分を提供します。また、複合現実機能の AR Foundation 統合も有効にします。Unity OpenXR: Android XR パッケージを使用する主なメリットは、XR デバイスをサポートするための統合 API が提供されることです。
一方、Android XR Extensions for Unity は、Android XR デバイス向けの開発に特化した Google の XR パッケージです。環境ブレンド モード、シーン メッシュ、画像トラッキング、ボディ トラッキングなどの追加機能で Unity OpenXR パッケージを補完します。欠点は、Android XR デバイス向けにのみ開発できることです。
どちらを選択するかは具体的なニーズによって異なりますが、一般的には Unity OpenXR: Android XR を選択することをおすすめします。これにより、アプリが対応するデバイスの柔軟性が大幅に向上します。その後、アプリケーションの要件に基づいて、Android XR Extensions for Unity を追加できます。
パッケージをインストールする方法
新しいパッケージを追加するには、Unity でプロジェクトを開き、[Window] > [Package Management] > [Package Manager] を選択します。
ここから、[Unity Registry] タブで次のパッケージをインストールできます。
Unity 用 Android XR パッケージを Github 経由でインストールするには、➕ アイコンを選択し、[Install package from git URL] を選択して、「https://github.com/android/android-xr-unity-package.git」と入力します。
必要な OpenXR 機能
必要なパッケージがインストールされたので、プロジェクトを動作させるためにいくつかのコア機能を有効にしましょう。
Android の OpenXR 設定を有効にするには、[Edit] -> [Project Settings] -> [XR Plugin Management] -> [Android] をクリックして [OpenXR] を有効にします。
次に、[Android XR support] のサポートを有効にする必要があります。他の OpenXR 機能については、必要に応じて説明します。今のところ、Android XR のサポートを有効にするだけで十分です。
入力
Android XR は、手、音声、アイトラッキング、キーボード、コントローラの入力をサポートしています。XR Interaction Toolkit と XR Hands をインストールすることをおすすめします。これらには、スタートアップに最適なプレハブが含まれています。これらのプレハブを使用すると、アプリで手とコントローラをサポートするために必要なものがすべて揃います。
XR Hands と XR Interactive Toolkit の両方がインストールされたら、Starter Assets と Hands Interaction Demo をインポートすることをおすすめします。次に、Hand Interaction プロファイルと Khronos Simple Controller プロファイルを有効にし、Hand Tracking Subsystem 機能と Meta Hand Tracking Aim 機能をオンにする必要があります。
これらの設定を編集するには、[Edit] > [Project Settings] > [XR Plug-in Management] > [OpenXR] に移動します。
また、Unity のプレハブである XR Origin もおすすめします。これは、XR 空間でのユーザーの位置と向きを表します。これには、正しい視点から XR エクスペリエンスをレンダリングするために必要なカメラリグとトラッキング コンポーネントが含まれています。
このプレハブを追加する最も簡単な方法は、先ほどインポートしたハンド インテグレーション デモからインポートすることです。これは、[Hands Integration Toolkit] > [Hand Interaction] > [Prefabs] > [XR Origin] にあります。
ゲーム オブジェクトの [XR Origin] オプションではなく、このプレハブを使用することをおすすめします。これは、ユーザーの手とコントローラを自動的に切り替える XR Input Modality Manager を使用するためです。これにより、手とコントローラを切り替える際に最適な結果が得られます。
プライバシーと権限: ユーザーの信頼を構築する
どのようなビルドを行う場合でも、ユーザーから実行時の権限を取得する必要があります。これは、シーンの理解、アイトラッキング、顔追跡、ハンド トラッキングによって、ユーザーにとってより機密性の高いデータにアクセスできるためです。
これらの機能は、従来のデスクトップ アプリやモバイルアプリよりも詳細な個人情報を提供するため、実行時の権限により、ユーザーは共有するデータの内容を完全に管理できます。そのため、Android のセキュリティ ポリシーとプライバシー ポリシーに準拠するため、Android XR にはこれらの機能ごとに権限があります。
たとえば、カスタム ハンド ジェスチャーに XR Hands パッケージを使用する場合は、このパッケージでユーザーの手に関する多くの情報をトラッキングする必要があるため、ハンド トラッキング権限(下記を参照)をリクエストする必要があります。これには、手の関節のポーズ、角速度、線速度のトラッキングなどが含まれます。
注: 権限が必要な拡張機能の完全なリストについては、XR デベロッパー ウェブサイトの情報をご確認ください。
const string k_Permission = "android.permission.HAND_TRACKING";
#if UNITY_ANDROID
void Start()
{
if (!Permission.HasUserAuthorizedPermission(k_Permission))
{
var callbacks = new PermissionCallbacks();
callbacks.PermissionDenied += OnPermissionDenied;
callbacks.PermissionGranted += OnPermissionGranted;
Permission.RequestUserPermission(k_Permission, callbacks);
}
}
void OnPermissionDenied(string permission)
{
// handle denied permission
}
void OnPermissionGranted(string permission)
{
// handle granted permission
}
#endif // UNITY_ANDROID合成レイヤでビジュアル品質を向上させる
合成レイヤは、UI 要素をレンダリングする際におすすめの方法です。すべてがプラットフォームのコンポジタに直接レンダリングされるため、Unity の標準レンダリング パイプラインと比較して、要素をはるかに高品質で表示できます。
たとえば、テキストを表示する場合、標準の Unity レンダリングでは、テキストがぼやけたり、エッジがソフトになったり、ビジュアル アーティファクトが発生したりする可能性が高くなります。一方、合成レイヤを使用すると、テキストが鮮明になり、アウトラインがシャープになり、全体的なエクスペリエンスが向上します。
テキストだけでなく、動画、画像、UI 要素もはるかに高品質でレンダリングされます。これは、ランタイムのコンポジタ レイヤのネイティブ サポートを利用することで実現します。
合成レイヤをオンにするには、Package Manager を開き、[Unity Register] を選択して、[XR Composition Layers] をインストールします。
ビルドして実行する
OpenXR パッケージがインストールされ、機能が有効になったので、手と頭の動きのプレハブを設定して、シーンをビルドし、テスト用にヘッドセットに直接デプロイできます。
次のステップ: スキルを広げる
Android XR 開発環境をセットアップし、重要なコンセプトを理解したら、XR 開発の旅を続けるための次のステップに進みましょう。
継続的な学習に不可欠なリソース:
- Android XR デベロッパー ドキュメント - すべての Android XR 機能に関する包括的なガイド
- Unity XR 開発マニュアル - Unity の公式 XR 開発リソース
探索するサンプル プロジェクト:
- Android XR Unity サンプル - さまざまな Android XR 機能を紹介する Google の公式サンプル プロジェクト
- Unity XR Interaction Toolkit の例 \- XR インタラクションとゲームプレイ メカニズムの包括的な例
- Unity VR テンプレート \- VR プロジェクトの完全な出発点
- VR マルチプレイヤー テンプレート \- ソーシャル XR エクスペリエンスを探索する
続きを読む
-
ハウツー
アプリのパフォーマンスは、スムーズな UI と起動時間の短縮と同一視されることが多いですが、メモリはこれらの可視化された指標の基盤となるものです。デバイスのメモリがこれまで以上に重要になっていることは周知の事実です。
-
2026 年 4 月 22 日2026 年 4 月 22 日
ハウツー
本日、Google が発行する新しい確認済みメール認証情報を発表いたします。デベロッパーは、Android の認証情報マネージャー Digital Credential API から直接取得できるようになりました。
Niharika Arora, Jean-Pierre Pralle • 3 分で読了
-
ハウツー
Android Studio の Gemini、Gemini CLI、Antigravity、Claude Code や Codex などのサードパーティ エージェントを使用しているかどうかにかかわらず、高品質の Android 開発をどこでも実現できるようにすることが Google の使命です。
Adarsh Fernando, Esteban de la Canal • 4 分で読了
最新情報の入手
Android 開発に関する最新の分析情報を毎週メールでお届けします。