Unity as a Library を他のアプリケーションで使用
Includes information about integrating Unity as a library in other applications, the platforms that support this feature, and known limitations.
読み終わるまでの所要時間 5 分最終更新 1ヶ月前
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 as a Library を他のアプリケーションで使用できます。これにより、AR 体験、3D モデルとのインタラクション、2D ミニゲームなど、3D または 2D リアルタイムレンダリングを使用するコンテンツを埋め込むことができます。Unity ランタイムライブラリは、ネイティブアプリケーション内でのロード、アクティベート、アンロードを管理する方法を公開しています。
現在、以下のプラットフォームが Unity as a Library をサポートしています。
プラットフォームのバージョンとその他の依存関係を確認するには、システム要件 のページを参照してください。
制限
別のアプリケーションによってホストされている場合、Unity はランタイムのライフサイクルを制御しないため、すべてのシナリオで機能するわけではありません。既知の制限には以下が含まれます。
-
Android と iOS
- フル画面レンダリングのみがサポートされています。ただし、Unity Industry のお客様は、制限と機能が異なる場合があります。
- Unity がアンロード状態のとき (の呼び出し後)、瞬時に切り替えて同じプロセスで再実行できるように、ある程度のメモリ (80 - 180 MB の間) を保持しています。解放されないメモリの量は、デバイスのグラフィックス解像度に大きく依存します。
Application.Unload
-
iOS で Unity ランタイムが完全に終了した場合 (の呼び出し後)、同じアプリケーションセッションで再度 Unity をリロードすることはできません。
Application.Quit -
Unity ランタイムの複数のインスタンスを読み込んだり、複数の Unity ランタイムを統合したりすることはできません。