Version: 2023.1
言語: 日本語
アセットのインポート
サポートするアセットタイプ

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

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

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

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

並列インポートの範囲

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

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

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

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

スクリプトインポーターへの影響

並列インポートは別々のプロセスで動作するため、スクリプトインポーターコードの副作用もまた、メインエディタープロセスではなく各プロセスで発生します。別のプロセスで発生する副作用は、予期しない問題を引き起こす可能性があります。例えば、ワーカースレッドでインポート中に C# クラスの静的変数を変更した場合、その変更は自動的にエディターのメインスレッドで実行されるコードには表示されません。

インポートのために書いたコードは常に自己完結型で決定論的であり、実行するコンテキストを変更すべきではありません (例えば、エディターの設定を変更したり、ディスク上に新しいアセットを作成するなど)。これらのルールに従うことで、インポーターコードの並列スレッドの問題を回避できます。また、インポート結果が常に一貫しており、エディターは常にキャッシュされたアーティファクトを使用し、アセットを不必要に再インポートすることがないようにします。

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

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

Project Settings ウィンドウでのインポートワーカープロセスの制御。
Project Settings ウィンドウでのインポートワーカープロセスの制御。
  • Project Settings ウィンドウでのインポートワーカープロセスの制御。* |設定名|説明| |:–|:–| |Desired Import Worker Count|インポートパイプラインが並列で実行するのに最適なインポートワーカープロセスの数。| |Standby Import Worker Count|アイドル状態でも保持する最小ワーカープロセス数です。

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

    頻繁にモデル、アニメーション、またはテクスチャ作業を反復している場合、この値を増やすことでインポートのパフォーマンスが向上する可能性があります。

    | |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% のデフォルト値は、ほとんどの状況に適しています。

アセットのインポート
サポートするアセットタイプ