Article

Meta Quest向けUGの展開と最適化

ADAM AXLER / UNITYSenior Content Marketing Manager
Jul 28, 2026
UG | コンティニュアムXR
このウェブページは、お客様の便宜のために機械翻訳されたものです。翻訳されたコンテンツの正確性や信頼性は保証いたしかねます。翻訳されたコンテンツの正確性について疑問をお持ちの場合は、ウェブページの公式な英語版をご覧ください。

Continuum XRにとって、Meta Quest向けのUGを構築するということは、クリーチャー収集、ソーシャルインタラクション、そして物理演算に基づいたVRゲームプレイを組み合わせ、スタンドアロン型ヘッドセット向けの拡張可能なマルチプレイヤー体験を実現することを意味した。クリーチャー収集ゲームやメカ操縦ゲームにインスパイアされたUGでは、プレイヤーはクエスト、トレード、購入などを通じて恐竜を集め、ゴリラのような移動方法で恐竜に乗ることができる。

そのような体験を実現するには、Meta Questハードウェア全体にわたって、マルチプレイヤーネットワーク、展開ワークフロー、およびパフォーマンス最適化のバランスを取る必要がありました。チームはまた、モバイルハードウェア上で安定したパフォーマンスを維持しながら、ライブアップデート、ネットワークシステム、 VRゲームプレイのインタラクションをサポート必要があった。

VR開発者のマーク・ミネハン氏とコンラッド・ダガー氏、そしてアソシエイトプロデューサーのハラ・ルヴィエール氏に、 Unityを使ったUGの構築と展開、スタンドアロンVR向けのネットワークとパフォーマンスの最適化、そしてMeta Questデバイス全体でライブマルチプレイヤーVRゲームをスケーリング方法について話を聞きました。

あなたの主な技術的目標は何でしたか?

マーク・ミネハン:Meta Questでは、 UGの大規模なゲーム展開にもかかわらず、ゲームがスムーズに動作する必要がありました。他のエンジンもテストしましたが、 Unityが最高のサポートとパフォーマンスを提供しました。Photon Fusion 2の共有モードは、ネットワーク処理の大部分がクライアント側で実行されるため、開発コストを抑えつつ拡張性を高めることができ、優れたスケーラビリティを実現しています。

Unityは必要な統合機能とサポートを提供してくれたので、ネットワークスタックやゲームエンジンをゼロから構築するのではなく、既存のツールを基盤として開発を進めました。

効率的なVR展開をサポートために、 Unityのビルドパイプラインはどのように構造体ましたか?

MM:チームはUnityVersion Controlを使用しているため、メンバーは複数のブランチで同時に作業を行い、各自の変更を管理できます。私たちは、メイン、ライブ、開発、ベータ、および特徴ブランチを使用しています。UnityVersion Controlは、チーム間の同期を維持し、変更のプッシュとプルを容易にします。

ビルドとデプロイには、 Unity Hubを使用してAndroidパッケージキット(APK)をビルド、MetaQuest 開発者 Hubを使用して数分でデプロイします。そこから、ビルドの昇格または降格を行い、プレイヤーまたはアルファテスターに​​リリース。

コンラッド・ダガー:ローンチ当初、特にUGが普及し始めた頃は、スケールで何が起こっているのかを可視性必要がありました。エディターではすべてのシナリオをシミュレートできなかったため、デバッグシンボルをアップロードし、Mixpanel管理画面を使用してエラーを継続的に監視しました。問題が再発しないよう、毎日、そしてパッチ適用後にも必ずチェックしています。これは、問題がプレイヤーに影響を与える前に解決するのに役立ちます。

MM:Metaを通じてクラッシュシンボルに直接アクセスできるため、カスタムソリューションは必要ありませんでした。Unity、同じ手順または別のステップでビルドてMetaにアップロードできます。クラッシュシンボルではキャプチャできないエラーや例外については、プレイヤーごとのアップロードを制限し、完全なスタックトレースを含むカスタムツールを開発しました。

私たちはこれらのレポートをユーザー履歴と照らし合わせて確認し、イベント発生前にユーザーが何をしていたかを特定します。Mixpanelはイベントを集約することで、チームがクエリ、フロー、ビジュアライゼーションをビルドできるようにし、問題の迅速な発見と修正を支援します。

UG | コンティニュアムXR
UG | コンティニュアムXR

VRデバイスをターゲットにする際に、最も大きな導入上の制約は何でしたか?

CD:構築に関しては、私たちの設定は非常にシンプルです。私たちはUnityのビルトインビルドシステムを使用し、プロジェクトをAndroidターゲットで開発しています。私たちはAPKをビルド、Meta Quest開発者ハブにアップロードし、Meta Questプラットフォームを通じて配布します。時折、APKファイルをリビルド必要が生じますが、その際に少数のアップロードエラーが発生しています。

MM:早期アクセス期間中、このゲームは悪意のあるユーザー、改造者、ハッカーを引き寄せた。APKファイルの配信はセキュリティリスクを露呈するため、独自のソリューションとUnity Asset Storeのアドオンを用いてVRビルドのセキュリティを強化しました。

CD:ファイルとバックエンドを保護するために、難読化パッケージも使用しています。当社の自己展開プロセスでは、Metaアテステーションによるチェックが実行され、PlayFabはアカウントアクティビティの検証と不正アクセスの防止に役立ちます。また、プレイヤーが古いAPKファイルを使用してログインできないように、最小バージョンを強制しています。

ハラ・ルヴィエール:VRハードウェアは世代交代ごとに急速に進化しており、多くのプレイヤーは今でもMetaQuest 2を使用している。新特徴を追加する際には、必ずパフォーマンスに関する検討が必要となる。私たちは定期的に、アイデアがもたらすパフォーマンスへの影響に基づいて評価を行っています。VRにおいては、ハードウェアの違いがプレイヤー体験に大きな影響を与える可能性があるため、このトレードオフは特有の課題となる。

UG | コンティニュアムXR
UG | コンティニュアムXR

Unity 2021.1からUnity 6へのアップグレードは、デプロイメントワークフローにどのような影響を与えましたか?

MM:当初はチームがUnity 2021.1を標準バージョンとして使用していましたが、そのバージョンにはVRのフォーカスやトラッキングの不整合など、ビルドやワークフローに関する問題がありました。

Unity 6に移行する際、私たちはワークフローにとってより安定したバージョンを選択しました。今回のアップグレードには、非推奨となったAPIのコード更新が必要で、完了までに数日を要した。安定性向上のため、アップグレードしました。

CD:Unity 6の方がFusionとの連携が優れていたため、切り替えました。Unity 6はPlayModeツールもサポートしており、開発の初期段階でマルチプレイヤーシナリオをテストするのに役立ちました。セキュリティ対策を強化した後、最終的にその使用を中止しました。ほとんどの移行問題は約1週間以内に解決しました。

MM:アニメーターのオーバーフロー動作が主な課題でしたが、回避策を開発しました。

Unity 6では新たなバグは発生していません。Unity 6では、アニメーションカウンターが最大値に達した際に発生する既存の問題が顕在化した。それを無視するのではなく、影響を受けるアニメーションを特定し、オーバーフローする前にリセットためのカスタムエディターツールとシステムを構築しました。

UG | コンティニュアムXR
UG | コンティニュアムXR

VRハードウェアへの展開時に、パフォーマンス目標をどのように定義し、検証しましたか?

MM:私たちは複数のパフォーマンス指標を追跡しています。キー指標の一つはfpsで、当社のデバイスでは72fpsを目標としています。私たちは、そのしきい値を下回る値下がり状況と、それがどのくらいの頻度で発生するかを監視しています。私たちはUnity ProfilerとMeta管理画面を使用しており、これらはデバイスごとの詳細な分析結果を提供します。

ポリゴン数の少ないアセットと再利用可能なシェーダーのおかげで、メモリは大きな問題にはなっておらず、メモリ関連のクラッシュはほとんど発生していません。UGには多くのオブジェクトとネットワークを介した相互作用が存在するため、ネットワーク化は重要な焦点となる。私たちはPhotonチームと直接協力してパフォーマンスの問題やクラッシュに対処し、関心領域などの技術を用いてスケーラビリティを向上させました。

また、クラッシュを追跡し、新しい変更やパフォーマンスの問題が原因かどうかを調査します。

デプロイ前にプラットフォーム固有のビルドを最適化するために、 Unity Profilerをどのように活用しましたか?

MM:Unity Profilerは、ラグスパイクを追跡し、FPSの低下を監視するのに役立ちます。レンダリングパス、メモリ使用量、フレームアクティビティを分析することで、原因を特定できます。私たちはそれを使って、ダイノデックスに関する問題を調査しました。各プレイヤーはそれぞれ独自の恐竜図鑑を持っているため、ランタイムにシーン検索APIを使用して関連するコンポーネントを検索しました。

エディター上では正常に動作したが、実際のテストでは、恐竜図鑑を開く際に深刻な動作の遅延が発生した。プロファイラによると、 API呼び出しによって、オブジェクトが多数存在するシーンでスパイクが発生したことが示された。私たちは正確なスクリプトと関数を特定し、同じパターンが他の場所でも使用されていることを発見することで、プロジェクト全体のラグスパイクを軽減しました。

CD:パフォーマンスの問題をデバッグする上で非常に重要だった。DinoDexの問題により、DinoDexを開いた際にロビーが数秒間フリーズする可能性があります。

もう一つの例は、恐竜のフィギュアがディスプレイ並んだプレイヤーの棚です。元の実装では、1つのフレーム内に複数のネットワークオブジェクトが生成されていたため、パフォーマンスの急激な低下を引き起こしていた。

プロファイラによると、これらのスパイクはFusionのスポーン呼び出しと、NetworkObjectおよびNetworkTransformコンポーネントを含む大規模なオブジェクト階層から発生していることがわかった。これにより、正確なフレームと原因を特定し、繰り返し発生するスポーンやクラッシュなど、ゲームプレイを妨げる問題を解決することができました。

UG | コンティニュアムXR
UG | コンティニュアムXR

安定した高性能なVR体験の提供に最も大きな影響を与えた導入決定や最適化はどれですか?

MM:品質保証は当社の強みの一つです。Unity、ベータ版やその他のテスト環境向けに、設定をカスタマイズ可能なターゲットビルドを作成できます。私たちは、より小規模なプレイヤーグループ向けにビルドをリリース、問題を修正、アルファにアップデートをプッシュする作業を、数分、多くの場合10分以内に行うことができます。

このワークフロー、変更点が実際のプレイヤーに反映される前に迅速にテストを行うことができます。頻繁なアップデートを実施し、このフィードバックループを維持できる能力は、安定性にとってキーである。

CD:最適化は、2025年1月に開発が開始されて以来、継続的に行われています。私たちは迅速に行動し、9月までにテスターへのリリースと正式リリースを行い、その後はリリース後に毎週アップデートを配信しました。

当初から、私たちはネットワーク、パフォーマンス、そしてコードの品質に重点を置いてきました。品質保証プロセスはそのペースを支え、新システムの迅速なテストを可能にした。また、性能や開発上のトレードオフに見合わない機能は避けるようにしています。

UG | コンティニュアムXR
UG | コンティニュアムXR

VR開発者を目指す人への一番のアドバイスは何ですか?

MM:何かを作ってみよう。たとえ小さな試作品でも構わない。磨く必要はありません。ゲームジャム、itch.io、SideQuest、またはMeta Horizo​​n Storeを通じて作品を共有し、直接フィードバックを得ましょう。批判を個人的に受け止めず、フィードバックを改善に活かしましょう。多くのVR開発者は学習中は情報共有を避けるが、孤立した環境で作業することは成長を遅らせる。

HL:ベータテストは非常に重要です。UGはリリース前に4~6週間のクローズドアルファとベータテストを実施し、それが最終的なユーザー体験の形状に役立った。プレイヤーは必ずしも開発者の想定通りに行動するとは限らないため、外部テスターはゲームが実際にどのようにプレイされているかを明らかにする。このフィードバックは、開発者が意図したプレイヤー体験と実際のプレイヤー体験とのギャップを埋めるのに役立つため、ゲームが完成したと感じたとしても、チームはこれをスキップべきではありません。

Unityで作成されたプロジェクトについてさらに詳しく知りたい場合は、リソースページをご覧ください。