XREAL Air 2 Ultra + Beam Pro 開発入門 〜Unityで作るARクリスマスリース〜
こんにちは!
jig.jp Engineers' Blog Advent Calendar 2025の12/9の記事を担当します はたはた です。
最近 XREAL Air 2 Ultra と XREAL Beam Proを手に入れました。

出典:https://jp.shop.xreal.com/products/xreal-beam-pro-air-2-ultra-bundle
6DoF&ハンドトラッキング対応ARグラスということで、アイデア次第で様々なアプリを作成できそうです。
今回は、XREAL Air 2 Ultra を使った Unity での開発セットアップを紹介するとともに、その特性を活かした簡単なアプリケーションを作成してみたいと思います。
開発環境
OS: Windows
Unity: 6000.0.59f2
nebulaOS: X4000_X486_250814_ROW
SDK: XREAL SDK for Unity 3.0.0
事前準備
XREAL SDK for Unity のダウンロード
からSDKをダウンロードしておきましょう。
ADB環境構築
開発にあたって、Android Debug Bridge (ADB)を扱えるようにしておきましょう。基本的にワイヤレスでデプロイ、デバッグを行うためです。
厳密には必須ではないのですが、有線でのアプリデプロイは XREAL Beam Pro のARグラス用ポートを使うため、実機確認の際、毎回ケーブルを抜き差しする手間が発生するためです。
ワイヤレスデバッグのやり方も後程解説します。
プロジェクト作成
プロジェクトを 6000.0.59f2で作成します。
Build Profilesから対象プラットフォームをAndroidに切り替えます。

必要ライブラリ&サンプルインポート
Package Manager から Unity Registry を選択し、XR Interaction Toolkit をインストールします。

また、XR Interaction ToolkitのSamplesタブからStarter Assetsをインポートしておきます。

Package Manager の左上の+ボタンから Install Package for tarball を選択し、先ほどダウンロードした XREAL SDK を選択し、インストールします。
また、XREAL XR Plugin の Samples タブから Interaction Basics をインポートしておきます。

設定変更
Project Settings タブを開き、XR Plug-in Management を選択し、Androidタブの Plug-in ProvidersでXREALを選択します。

その後、XR Plug-in Managementの下部にあるProject ValidationでFix Allを押し、必要なプロジェクト設定を適用します。

Project Settings の XREAL から、Initial Tracking Type が「MODE_6DOF」、Initial Input Source が「Controller」になっていることを確認します。ここは作成したいアプリケーションによって適宜変更を行なってください。

ワイヤレスデバッグ設定
XREAL Beam Proの開発者モードをONにします。
ビルドを行うPCと Beam Pro を同じローカルネットワークに接続します。
USBケーブルで Beam Pro をPCに接続します。この時、Beam Pro の右側の端子を接続する必要があります。

接続後、adb devices コマンド等で接続されていることを確認出来たらターミナルでadb tcpip 5555を実行します。実行後にUSB接続を解除し、Beam Pro のローカルIPを調べ、adb connect [Beam ProのローカルIPアドレス]を実行します。
再度adb devicesを実行し、接続を確認します。

Unity に移動し、Build Profiles の Run Device の中にワイヤレスデバッグ対象の端末が確認できるはずなので選択します。これでワイヤレスデプロイの準備は完了です。

設定が完了したので、実装に入っていきます。
実装
今回は簡単なアプリケーションということで、クリスマスリースをARで試し置きできるようなアプリケーションを作成してみます。
シンプルなアプリケーションにするため、コントローラ(Beam Pro)から操作ができるようにします。
コントローラの作成を行うために Package Manager - XR Interaction Toolkit から XR Device Simulator をインポートします。

その後、Project Settings の XR Interaction Toolkit から Use XR Device Simulator in scenes にチェックを入れます。

適当にシーンを作成し、デフォルトで配置されているカメラとライトは消します。
Packages/com.xreal.xr/Runtime/Prefabs/XR Interaction Setup.prefab をシーンに追加します
コントローラ作成のため、Packages/com.xreal.xr/Runtime/Prefabs/XREALVirtualController.prefab をシーンに追加します

XREALVirtualControllerを開き、Buttonsの中に新しいボタンを作成します。


この段階で、GameWindow にはこんな感じでコントローラのデザインが見えていると思います。この調子でコントローラに必要なボタンを作成してしまいます

こんな感じにしました、私のUIデザインセンスについてはさておき、一旦実機デバッグで確認してみます。
ARグラス側もきちんと動いているか確認したいので(0,1,5)の地点にキューブを作成しました。


良い感じですね
Tripo AIのサービスを使用してテキストからクリスマスリースの3Dモデルを作成します。

あまり美しくはないですが適当にコードを作成し、ボタンを押した際に呼び出してしまいます。
using UnityEngine;
public class ObjectController : MonoBehaviour
{
private float moveDistance = 0.05f;
private float scaleChange = 0.1f;
// このオブジェクトを上に動かす
public void MoveUp()
{
transform.Translate(0, moveDistance, 0);
}
// このオブジェクトを大きくする
public void ScaleUp()
{
transform.localScale += new Vector3(scaleChange, scaleChange, scaleChange);
}
(略)
}


良い感じに動いていますね、Beam Pro側から配置できるオブジェクトを増やしたり、角度も調整できるようにすれば立派なアプリになりそうです。
感想
現状、XREAL Air 2 Ultra を最大限活用するには実質的に Beam Pro との接続が必須である点や、ハンドトラッキングの精度が悪いなど、まだまだ改善点の多いデバイスだと思っています。
しかし、「開発者向け」とされているだけあって、ほかのARグラスデバイスではあまり見ない、平面認識や画像追跡、空間アンカー等の機能が豊富なARグラスでもあることは確かです。
機能が豊富にも関わらず、あまり活用されているアプリが少ない印象なので、開発しがいのあるデバイスだと思います。
開発者視点から見れば、XR Interaction Toolkit や AR Foundation にしっかり対応しているのも好ポイントでした。
出典
Discussion