【Unity】Windows版をビルドした時に作成されるファイルやフォルダ

UnityでWindows版のアプリケーションをビルドする際に生成されるファイルやフォルダには以下のようなものが含まれます。

作成されるファイル

  1. .exeファイル: アプリケーションの実行可能ファイルです。これがゲームやアプリケーションのメインプログラムです。
  2. UnityPlayer.dll: Unityエンジンのランタイムライブラリです。このDLLがないと、ビルドしたアプリケーションは動作しません。
  3. データフォルダ: このフォルダは通常、アプリケーション名の後に「_Data」という名前で作成されます(例:GameName_Data)。このフォルダには、アプリケーションで使用されるアセットやプラグイン、設定ファイルなどが含まれています。
  4. MonoBleedingEdgeフォルダ: Unityが使用するMonoランタイムのファイルが含まれています。これには、スクリプト実行のための各種DLLなどが格納されています。
  5. CrashHandler64.exe: アプリケーションがクラッシュした場合にエラー情報を収集するためのプログラムです。
  6. UnityCrashHandler64.exe: これもクラッシュ時の情報収集に使用されるプログラムですが、Unityエンジン固有の情報を扱います。
  7. ユーザー設定やライセンスファイル: アプリケーションやエンジンの設定に関連するファイルや、使用しているUnityのライセンス情報が含まれる場合があります。

ビルド時の設定やプロジェクトの内容によっては、他にもファイルやフォルダが生成されることがありますが、これらは基本的な構成です。ビルドオプションやプラグインによって、追加のファイルやフォルダが必要になる場合もありますので、プロジェクトに応じて確認が必要です。

必要性

Unityでビルドしたアプリケーションを配布する場合、通常はほとんどのファイルとフォルダが必要になりますが、プロジェクトや配布の形態によって異なります。以下は主要なコンポーネントとその必要性についての一般的なガイドです。

  1. .exeファイル: 必須。これがアプリケーションの実行ファイルです。
  2. UnityPlayer.dll: 必須。Unityのランタイムとして機能し、アプリケーションが正常に動作するために必要です。
  3. データフォルダ (_Data): 必須。アセットや設定ファイルが含まれており、これがないとアプリケーションは正常に動作しません。
  4. MonoBleedingEdgeフォルダ: 必要。特にスクリプトがMonoを利用する場合、このフォルダがないとスクリプトが正常に動作しません。
  5. CrashHandler64.exeとUnityCrashHandler64.exe: 通常は必要ですが、クラッシュレポート機能を無効に設定している場合は不要です。配布時には省略することができる場合もあります。
  6. その他の設定やライセンスファイル: プロジェクトによって異なりますが、通常は配布に含める必要があります。
  7. プラグインや追加のDLLファイル: アプリケーションが依存する外部プラグインやライブラリがある場合、これらも必要です。

Unityでのビルドプロセス中に生成される「MonoBleedingEdge」フォルダは、Unityが使用するMonoランタイムのファイルを含んでいます。このフォルダが必須ではなく「必要」と表現される理由は、プロジェクトの設定や使用するスクリプティングバックエンドに依存するためです。

Unityでは、スクリプティングバックエンドとして主に二つの選択肢があります:IL2CPPとMono。これらは、スクリプトのコンパイルと実行の方式が異なります。

  1. IL2CPP: これは「Intermediate Language To C++」の略で、UnityがC#スクリプトをC++に変換し、それをコンパイルする方式です。IL2CPPを使用すると、実行時にMonoランタイムは不要になります。IL2CPPは特にパフォーマンスの向上やセキュリティの強化のために推奨され、iOSやAndroidなどのプラットフォームではデフォルトの選択肢です。
  2. Mono: Monoバックエンドを使用する場合、ランタイムとしてMonoが必要です。この設定では、スクリプトは実行時にMonoランタイムを利用して動的にコンパイルされるため、このランタイムが含まれる「MonoBleedingEdge」フォルダが必要になります。

プロジェクトがIL2CPPを使用している場合、MonoBleedingEdgeフォルダは必要ありません。一方で、Monoを使用している場合は、このフォルダが必須となります。つまり、プロジェクトの設定に依存して「必要」という表現が使われるのです。

Unityプロジェクトのビルド設定を確認することで、どのバックエンドが使用されているかを特定し、その上で必要なフォルダやファイルを正確に把握することができます。このように、プロジェクトの要件に基づいて最適な設定を選択することが重要です。

基本的には、Unityのビルドプロセスが生成したファイルとフォルダは、すべてアプリケーションの一部として機能します。削除することでアプリケーションが正常に動作しなくなる可能性があるため、不明なファイルは原則として削除しないことをお勧めします。ただし、ファイルサイズの削減やセキュリティ向上のために、一部のファイルを除外することがあります。その場合は、テストを行ってアプリケーションが依然として正常に動作することを確認する必要があります。

Unity

Posted by hidepon