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はランタイムの ライフサイクルを制御しないため、すべてのシナリオで機能するわけではありません。既知の制限は以下のとおりです。
Application.Unload
を呼び出した後)、瞬時に切り替えて同じプロセスで再実行できるように、ある程度のメモリ (80 - 180 MB の間) を保持しています。解放されないメモリの量は、デバイスのグラフィックス解像度に大きく依存します。Application.Quit
の呼び出し後)、同じアプリケーションセッションで再度 Unity を再起動ことはできません。