渋谷ほととぎす通信

エンジニア社長によるUnityとAIのブログ & エンジニアの生存戦略

【Unity】Asset Import Overridesで爆速アセットインポートを実現する方法

【Unity】Asset Import Overridesで爆速アセットインポートを実現する方法

こんにちは、Unityエンジニアのオオバです。

お悩みさん
お悩みさん
  • 購入したUnityアセットをサクッと確認したい
  • アセットインポートの時間ってもっと早くならない?
  • オオバ
    オオバ
    本記事ではこれらの悩みを解決します。

    Unityの待ち時間ランキング第1位はアセットインポートです。

    ※オオバの感覚値ランキングより

    Unityプロジェクトによってアセットインポート時間はとてつもなく長くなります。そんなお困りのあなたに耳寄りな情報。 Unity2021の新機能「Asset Import Overrides」を使うと爆速でアセットインポートが終わります。

    例えば購入したアセットストアをUnityで触りたいとき、インポート時間が面倒くさくて買ったまま眠っていることありませんか?「Asset Import Overrides」を使えばアセットインポート時間を大幅に圧縮することができ、Unityエディタでの確認も苦ではなくなります。 ぜひこの記事を通して爆速インポートテクニックを手に入れてください。

    👉DOTweenの教科書を読んでUnityアニメーションをプログラミングしてみよう!

    Unity2021新機能「Asset Import Overrides」とは?

    「Asset Import Overrides」 とはUnity2021で追加された機能です。一言で表すと「テクスチャのアセットインポートを一括で変更する機能」です。 つまりテクスチャ個別に設定した圧縮フォーマットを一括変更できるのです。

    設定場所はBuild Profilesウィンドウ右上の「Asset Import Overrides」です。
    【Unity】Asset Import Overridesで爆速アセットインポートを実現する方法_0

    デフォルト状態では、アセットインポート設定を上書きしません。

    圧縮フォーマットを一括変更できるメリットは?

    テクスチャの圧縮フォーマットを一括変更できると、テクスチャインポート処理をスキップすることができ、インポート時間が大幅に減ります。つまり 「非圧縮の状態」でインポートできる ため、圧縮テクスチャに変換する処理時間がまるまるなくなるのです。

    テクスチャ個別に圧縮フォーマットを設定する方法

    通常個別でテクスチャをインポートするときは、ASTC、ETC2、PVRTCといった圧縮テクスチャを指定します。設定箇所はテクスチャのInspectorウィンドウの下部にあります。

    formatタブ を開き設定します。以下の図ではAndroid向けのテクスチャ設定です。
    【Unity】Asset Import Overridesで爆速アセットインポートを実現する方法_1
    2025年3月時点ではAndroid端末の圧縮テクスチャは「ASTC」を採用することが多いです。

    テクスチャを非圧縮でにする場合は以下の図のようにformatをRGBA32bitにします。すると圧縮テクスチャに変換することがなくなるため、テクスチャインポート時間は大幅に短くなります。
    【Unity】Asset Import Overridesで爆速アセットインポートを実現する方法_2

    非圧縮テクスチャは大量のメモリを消費してしまうため、あくまでUnityエディタ上での確認用とするのが無難です。

    スマホで使用するとメモリ不足でアプリがクラッシュする可能性があります。

    Asset Import Overridesで非圧縮テクスチャをインポートする方法

    Asset Import Overridesを使ってテクスチャを一括で非圧縮インポートする方法を紹介します。設定はとても簡単で「Force Uncompressed」に設定してApplyボタンをクリックするだけです。

    Asset Import Overrides未設定状態(デフォルト)

    Asset Import Overridesのデフォルト状態は No Override です。この状態ではテクスチャは何も変化はありません。個別の設定が優先されます。

    非圧縮でテクスチャインポートする設定

    【Unity】Asset Import Overridesで爆速アセットインポートを実現する方法_3
    上図が非圧縮でテクスチャをインポートする設定です。Asset Import Overridesを「Force Uncompressed」に設定して、Apply Overridesボタンをクリックするだけ。

    以上で設定は終了です。以降テクスチャのインポート時間はほぼ0になります。どのくらい効果があるのかチェックしてみます。

    3GBの大物アセットでインポート時間を計測

    Asset Import Overridesでどのくらいインポート時間が短縮するのか確認していきます。

    今回使用するアセットはこちらRocky Hills Environment - Mega Packです。

    Rocky Hills Environment - Mega Pack
    Rocky Hills Environment - Mega Packはハイクオリティなフィールドアセットで、全体でファイル容量が3GBあります。 ![【Unity】Asset Import Overridesで爆速アセットインポートを実現する方法_4](https://i.gyazo.com/8c143da077fa4015a792430de3920a71.jpg#375__212)

    アセットインポートだけで相当の時間がかかりそうですよね。ではインポート時間を計測します。アセットのダウンロードはあらかじめ完了しているものとします。ダウンロードスピードは通信環境によって大きく変わりますので、今回の検証からは除外しました。あくまで Unityへのインポート時間の検証 です。

    【驚きの結果】待ち時間が1/20に短縮!!

    結論からお伝えするとインポート時間は 1/20 に短縮しました。

    • デフォルト状態 : 33分41秒
    • 爆速状態 : 1分50秒

    これは驚きました。こんなに早くなるとは...。3GBで1分50秒。普段使う小規模アセットだと、おそらく一瞬でインポートは終了すると思います。1分50秒かかっている原因は、テクスチャ以外にもアセットが格納されているからだと考えられます。例えばメッシュの圧縮時間です。

    3GBが2分弱でテストできるのはとても嬉しいですね。

    Unityエディタで開く前にAsset Import Oveerridesを設定する方法

    Unity HubからUnityエディタを起動するときにオプションを設定することで、事前にAsset Import Overridesを適用できます。

    【Unity】Asset Import Overridesで爆速アセットインポートを実現する方法_5
    Unity Hubの「コマンドライン引数を加える」ボタンをクリックしましょう。

    【Unity】Asset Import Overridesで爆速アセットインポートを実現する方法_6
    上図のようにコマンドライン引数 -overrideTextureCompression forceUncompressed を追加します。

    するとUnityエディタを開く前にAsset Import Overridesを設定した状態で起動できるようになります。

    Asset Import Overridesの注意点

    最後にAsset Import Overridesの注意点を紹介します。 Asset Import OverridesはあくまでUnityエディタ用に使用することです。 つまり製品版に使用する用途で作られていないということです。

    Asset Import Overridesで非圧縮テクスチャに設定すると、メモリ使用量が爆増するためゲーム製品に使えません。あくまでUnityエディタ上での作業スピードを上げるためのテクニックです。

    ビルド時にAsset Import Overridesを無効にする

    Asset Import Overridesを適用した状態でビルドすると設定が引き継がれます。つまり非圧縮テクスチャがゲーム内に取り込まれるということです。

    これを回避するためにはビルドする前に設定を戻す必要があります。しかし、Asset Import Overridesの設定を戻すとインポート時間に再び悩まされることになります。そうならないために回避する方法を紹介します。

    ビルド用Unityプロジェクトを別途用意します。そして、このプロジェクトのAsset Import Overridesは無効にしておくのです。すると不要にアセットインポートを実行することなくビルドできます。

    くれぐれもAsset Import Overridesを適用した状態でビルドしないようにしてください。

    Asset Import Overridesまとめ

    Unity2021から登場した Asset Import Overrides について解説しました。一言でいうと、 アセットインポートを爆速化する設定 です。この新機能により大容量のアセットをサクッとテストすることが可能になりました。そして、日々の開発の待ち時間も大幅に短くできます。

    最近のスマホゲームはとてもリッチ化しており、膨大なテクスチャを使用します。新しく参画したメンバーはアセットインポートで一日を潰すこともありました。そこに現れたAsset Import Overridesは救世主と言えます。

    また、 長時間のアセットインポート が、購入アセットをお蔵入りにする原因の1つでした。待ち時間が面倒くさいですよね。しかし「Asset Import Overrides」のおかげで3GBのアセットも2分弱まで短縮しています(Unity2021時点での計測)。

    今後アセットストアで購入したものは積極的に確認して行こうと思います。アセットインポート時間がなければストレスの大部分は排除されますからね。 購入したタイミングで使ってみる ことでお金を払った価値は生まれます。

    オオバは正直感動しました。Unityを始めて12年悩まされていましたからね。この感動は実際にやってみないとわからないものです。ぜひ 「Asset Import Overrides」 を体験してみてください。

    もしUnityのアップデート方法がわからない方は、こちらの記事で詳しく解説しています。ぜひ読んでみてください。

    Unityオブジェクトの描画順の制御って難しいですよね。
    この度、Unityの描画順を体系的に学べる「Unity描画順の教科書」を執筆しました。

    Unityの描画順を基礎から学びたい方はぜひ確認してみてください!
    Unity描画順の教科書

    最後まで読んでいただきありがとうございました!
    すばらしいUnityライフをお過ごしください。

    オススメ記事
    検証環境
    • Unity6000.0.32f1