Version: 2021.3
言語: 日本語
プラットフォーム特有の情報
ディープリンク

Unity as a Library を他のアプリケーションで使用

Unity as a Library は、Java/Android、Objective C/iOS、Windows Win32/UWP などのネイティブプラットフォームテクノロジーを使用し、ゲームやアプリケーションに Unity を活用した機能を使用したい専門的なユーザーを対象としています。

このドキュメントは、Java/Android、Objective C/iOS、Windows Win32/UWP などのネイティブプラットフォームテクノロジーの開発経験があり、プロジェクトの構造体 、言語機能、特定のプラットフォーム設定オプション (例えば、ユーザー権限) の知識があることを前提としています。

Unity 2019.3 以降、コンテンツと Unity ランタイムコンポーネントをネイティブプラットフォームのプロジェクトに統合することで、Unity を他のアプリケーションのライブラリーとして使用できます。これにより、AR 体験、3D モデルとの相互作用、2D ミニゲームなど、3D または 2D リアルタイムレンダリングを使用するコンテンツを埋め込むことができます。Unity ランタイムライブラリは、ネイティブアプリケーション内でのロード、アクティベート、アンロードを管理する方法を公開しています。

現在、以下のプラットフォームが Unity as a Library をサポートしています。

プラットフォームのバージョンとその他の依存関係を確認するには、システム要件 のページを参照してください。

制限

別のアプリケーションによってホストされている場合 、Unityはランタイムの ライフサイクルを制御しないため、すべてのシナリオで機能するわけではありません。既知の制限は以下のとおりです。

  • Android と iOS
    • フル画面レンダリングのみがサポートされています。画面の一部のみにレンダリングすることはできません。
    • Unity がアンロード状態のとき (Application.Unload を呼び出した後)、瞬時に切り替えて同じプロセスで再実行できるように、ある程度のメモリ (80 - 180 MB の間) を保持しています。解放されないメモリの量は、デバイスのグラフィックス解像度に大きく依存します。
  • iOS で Unity ランタイムが完全に終了した場合 (Application.Quit の呼び出し後)、同じアプリケーションセッションで再度 Unity を再起動ことはできません。
  • Unity ランタイムの複数のインスタンスを読み込んだり、複数の Unity ランタイムを統合したりすることはできません。
  • 正しく動作させるために ネイティブ プラグインと マネージ プラグインの調整が必要な場合があります。

  • Unity as a Library は 2019.3 に追加NewIn20193
プラットフォーム特有の情報
ディープリンク