Version: 2020.2
言語: 日本語
プラットフォーム開発
ディープリンクを有効にする

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 の呼び出し後)、同じプロセスで即座に切り替えて再度実行できるように、ある程度のメモリ (100Mb 以下) を維持します。
  • iOS で Unity ランタイムが完全に終了した場合 (Application.Quit の呼び出し後)、同じアプリケーションセッションで再度 Unity を再起動ことはできません。
  • Unity ランタイムの複数のインスタンスを読み込んだり、複数の Unity ランタイムを統合したりすることはできません。
  • 正しく動作させるために ネイティブ プラグインと マネージ プラグインの調整が必要な場合があります。

  • Unity as a Library は 2019.3 に追加NewIn20193
プラットフォーム開発
ディープリンクを有効にする