Version: Unity 6.0 (6000.0)
言語 : 日本語
アセットのメタデータ
Scripted Importer

アセットを同時にインポートする

デフォルトでは、Unity はメインエディタープロセスでアセットを 1 つずつ順番にインポートします。しかし、Unity は一部のアセットタイプに対して並行インポートもサポートしています。並行インポートは複数のプロセスを使用してアセットを同時にインポートするため、デフォルトの順番にインポートする方法よりも高速です。

並行インポートを有効にするには、Edit > Project Settings > Editor の順に移動し、Asset Pipeline セクションの下にある Parallel Import チェックボックスを有効にします。

Project Settings ウィンドウの Parallel Import オプション。
Project Settings ウィンドウの Parallel Import オプション。

並列インポートの範囲

Unity の Parallel Import 機能は、特定の種類のアセットのみをサポートしています。これは、標準的なアセットデータベースの更新を実行する場合 (エディターが Project フォルダー内の新しいまたは変更されたアセットを検出し、自動的にそれらをインポートする) にのみ適用されます。

Unity が並行インポートできる具体的なアセットの種類は以下の通りです。

その他の種類のアセットは、アセットデータベースの更新時に常に順番にインポートされます。

一部の Asset Database API メソッドでも、Texture または Model アセットのインポート、更新、作成の際にそのメソッドを使用する場合には、この設定が適用されます。例えば、以下のメソッドです。

AssetPostprocessor への影響

並行インポートは Unity エディターの別個のワーカーインスタンスで動作するため、テクスチャやモデルのインポートを処理する AssetPostprocessors も、メインエディタープロセスではなくそのインスタンスで有効になります。

これらのプロセッサーの副作用は、予期しない問題を引き起こす可能性があります。例えば、ポストプロセスの実行中に C# クラスの静的変数を変更した場合、その変更はエディターで実行されるコードには影響を及ぼしません。

ポストプロセッサーのために書いたコードは常に自己完結型で決定論的である必要があり、これにより、実行中のコンテキストが変更されるべきではありません。例えば、エディターの設定が変更されたり、ディスク上に新しいアセットが作成されたりしてはなりません。

これらのルールに従うことで、プロセッサーコードの並列スレッドの問題を回避でき、結果が常に一貫したものになります。

インポートワーカープロセスの制御

Asset Pipeline の設定には、インポートワーカープロセスの動作を制御するための 3 つの設定があります。これらの設定は、プロジェクトごとに異なります。

Project Settings ウィンドウでのインポートワーカープロセスの制御。
Project Settings ウィンドウでのインポートワーカープロセスの制御。

設定名 説明
Desired Import Worker Count インポートパイプラインが並列で実行するのに最適なインポートワーカープロセスの数。
Standby Import Worker Count アイドル状態であっても維持するワーカープロセスの最小数。

この数より多くのワーカープロセスがある場合、Unity は一定時間アイドル状態が続いたインポートワーカーをシャットダウンしてシステムリソースを解放します。このプロパティを使用すると、アイドル状態のプロセスがある場合に、新しいインポートワーカープロセスの起動にかかる時間と比較して、システムリソースのバランスをどのようにするかを管理できます。

モデル、アニメーション、テクスチャ作業を頻繁に繰り返し、そのためモデルや画像ファイルのバッチを頻繁にインポートする場合は、この値を上げるとインポートのパフォーマンスが向上する場合があります。
Idle Import Worker Shutdown Delay アイドル状態のワーカーをシャットダウンするまでの待機時間 (秒) です。

Unity によって新しいプロジェクトに設定される Desired Import Worker Count のデフォルト値を制御することもできます。これを行うには、Preferences > Asset Pipeline > Import Worker Count % の順に移動します。

Preferences ウィンドウの Importer Worker Count の設定。
Preferences ウィンドウの Importer Worker Count の設定。

新しいプロジェクトを作成するとき、Unity は Import Worker Count % 値を使用して、システムで利用可能な論理コア数のパーセンテージに対応するプロジェクトの Desired Import Worker Count 値を割り当てます。

例えば、システムに 16 個の論理コアがあり、この設定が 25% に設定されている場合、新しいプロジェクトの Desired Import Worker Count は 4 になります。この値をあまり高く設定すると、インポートワーカープロセスは、ファイルの読み書きなど、他のプロセスやシステムリソースとの競合の必要性が生じます。25% のデフォルト値は、ほとんどの状況に適しています。

アセットのメタデータ
Scripted Importer