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

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

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

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

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

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

    →11万文字で徹底解説した「DOTweenの教科書」Unityアニメーションの超効率化ツールはこちら

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

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

    設定場所はBuild Settingsウィンドウ下部の「Asset Import Overrides」です。

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

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

    👉 初心者が覚えておくべき11のUnityエディタ機能【Unityの使い方】

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

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

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

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

    formatタブ を開き設定します。以下の図ではAndroid向けのテクスチャ設定です。

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

    最近のAndroid端末は「ASTC」を採用することが多いです。

    テクスチャを非圧縮で取り込む場合は、以下の図のようにformatをRGBA32bitにします。すると圧縮テクスチャに変換することがなくなるため、テクスチャインポート時間は大幅に短くなります。

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

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

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

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

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

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

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

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

    上図が非圧縮でテクスチャをインポートする設定です。Asset Import Overridesを「Force Uncompressed」に設定して、Apply Overridesボタンをクリックするだけ。

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

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

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

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

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

    Rocky Hills Environment - Mega Packはハイクオリティなフィールドアセットで、全体でファイル容量が3GBあります。

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

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

    👉 【2022年版】Unityアセットストアで無料・有料アセットを購入する方法

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

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

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

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

    Asset Import Oveerridesを事前に設定する方法

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

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

    Unity Hubの「コマンドライン引数を加える」ボタンをクリックしましょう。

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

    上図のようにコマンドライン引数 -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 について解説しました。一言でいうと、 アセットインポートを爆速化する設定 です。この新機能により大容量のアセットをサクッとテストすることが可能になりました。そして、日々の開発の待ち時間も大幅に短くできます。

    Unity2021はゲーム開発者の生産性を大きく向上してくれる気がしています。テクスチャのインポート自体は地味ではありますが、ボディブローのように開発時間を圧迫してくる存在です。

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

    また、 長時間のアセットインポート が、購入アセットをお蔵入りにする原因の1つでした。待ち時間が面倒くさいですよね。しかし「Asset Import Overrides」のおかげで3GBのアセットも2分じゃくまで短縮しています。今後アセットストアで購入したものは積極的にUnity2021で確認していきます。アセットインポート時間がなければストレスの大部分は排除されます。 購入したタイミングで使ってみる ことでお金を払った価値は生まれます。

    オオバは正直感動しました。Unityを始めて8年悩まされていましたからね。この感動は実際にやってみないとわからないものです。ぜひ、Unty2021をインストールしてAsset Import Overridesを体験してみてください。

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

    👉 【ゲーム開発の始め方】Unityプロジェクトを作ろう

    その他Unity2021のオススメ機能をこちらの記事で紹介しています。ぜひ読んでみてください。

    最後に宣伝になりますが、本記事はTwitterで先行して発信しています。

    基本的にブログよりTwitterの方で先に情報発信しています。UnityやUIデザインについて興味がある方はぜひフォローしてみてください。フォローはこちら

    「Unity初心者大学」というUnity初心者向けのYouTube始めました!!
    ぜひチャンネル登録をお願いします!

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

    オススメ記事
    検証環境