Version: 2023.1
言語: 日本語
UWP の要件と互換性
ユニバーサル Windows プラットフォーム用の開発を始める

Unity を UWP アプリケーションに統合する

Unity as a Library 機能を使用して、ユニバーサル Windows プラットフォーム (UWP) アプリケーションに Unity Runtime Library を統合できます。Unity Runtime Library は、別の UWP アプリケーション内でコンテンツをロード、アクティブ化、アンロードするタイミングと方法を管理するために API コントロールを公開します。

このインテグレーションにより、Unity による以下のような機能を UWP アプリケーションに加えることができます。

  • 3D/2D リアルタイムレンダリング
  • AR 体験
  • 3D モデルの相互作用
  • 2D ミニゲーム

Unity Runtime Library を UWP アプリケーションに統合するには、以下の手順を実行します。

  1. File > Build Settings の順に開きます。
  2. Universal Windows Platform タブで、Build Type > XAML の順に選択します。
  3. プロジェクトをビルドします。

この結果、Unity は Visual Studio プロジェクトを作成し、これを使用してUnity Runtime Library を別の UWP アプリケーションに組み込むことができます。プロジェクトは MainPage.xaml ファイルの形式の一般的な XAML UWP プロジェクトです。これには、Unity プロジェクトをロードするための SwapChainPanel 設定が含まれます。このプロジェクトは Unity アプリケーション以外のビジネスロジックで拡張または置き換えることが可能です。

ノート: MainPage.xaml ファイルは、Unity エディターから XAML ビルドタイプを使用して UWP アプリケーションをビルドする場合にのみ存在します。

SwapchainPanel を使う際に、他の要素に重ねてレンダリングする場合があります。こうすると、Unity アプリケーション以外のコンテンツの上に、背景が透明な小さなオブジェクトをレンダリングすることができます。これを行うには、PlayerSettings.WSA-transparentSwapchain オプションを有効にします。Unity が Application.Unload でロードするときに、Unity エンジンをアンロードしてリソースを再利用できます。

制限

Unity ビルドを行うために別のアプリケーションを使用すると、Unity はランタイムライフサイクルを制御できません。そのため、ビルドが動作しない可能性があります。また、以下の制限にも注意する必要があります。

  • Unity ランタイムの複数のインスタンスをロードしたり統合したりすることはできません。
  • 正しく動作させるために ネイティブ プラグインと マネージ プラグインの調整が必要な場合があります。

その他の参考資料

UWP の要件と互換性
ユニバーサル Windows プラットフォーム用の開発を始める