2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Unity】Unity2022.3.1f1 での WebGL ビルド時間について

Last updated at Posted at 2023-06-17

追記 (2023-12-31)

Build Setting 内の Code OptimizationShorter Build Time にすると ビルド時間を短くできます。
image.png

Code Optimization 3D Sample Scene
Runtime Speed 1365 (22分45秒)
Shorter Build 138 (2分18秒)

↓ の内容は、Code OptimizationRuntime Speed に設定したときのビルド時間になります。

初めに

Unity2022 の LTS が出たということで、早速 Unity1Week 用にインストールしました。
Unity2021 で消えていた Recompile After Finished Playing 項目が復活するなど、使いやすくなっていたと思います。
しかし、WebGL でのビルド時間に違和感がありました。Unity2022.3.1f1 で作ったプロジェクトを WebGL ビルドすると、20分ほど掛かってしまったのです。

不思議に思ったので、Unity 2021 と比較してみました。(iOS や Android など、他プラットフォームビルド時間については検証していません。)

ビルド時間の比較

Unity2021.3.16f1Unity2022.3.1f1 でビルドしたものを比較しました。
ビルド後に表示されるログで、ビルド時間を見ます。
image.png

テンプレートプロジェクト

UnityHub に載っているサンプルプロジェクトを、Unity2021 と Unity2022 でそれぞれ作成し、ビルド時間 (秒) を測りました。
image.png

バージョン 2DCore 3DCore 3D Sample Scene
Unity2021.3.16f1 230 (3分50秒) 201 (3分21秒) 497 (8分17秒)
Unity2022.3.1f1 214 (3分34秒) 173 (2分53秒) 455 (7分35秒)

テンプレートプロジェクトをビルドした際は、Unity2022.3.1f1 でビルドしたほうが早い結果になりました。

Unity2021 のテンプレートを Unity2022 で開く

次に、 Unity2021 用に作成したテンプレートプロジェクトを、Unity2022 にアップグレードして開き、ビルドしました。
image.png

image.png

バージョン 2DCore 3DCore 3D Sample Scene
Unity2021.3.16f1 のまま 230 (3分50秒) 201 (3分21秒) 497 (8分17秒)
Unity2022.3.1f1 にアップグレード 315 (5分15秒) 255 (4分15秒) 1365 (22分45秒)

旧プロジェクトをバージョンアップしてビルドすると、ビルド時間が伸びています。
特に、3D Sample Scene テンプレートプロジェクト のビルド時間が2倍以上になっています。

過去に作ったプロジェクトを Unity2022 で開く

次に、過去に作ったプロジェクトを、2つのバージョンでビルドしてみました。
Unity2022 にアップグレードさせたところ、ビルド時間が以下のようになりました。

バージョン つなげて伝言ゲーム Accumulate Jump Run カゴ詰め検定
Unity2021.3.16f1 のまま 391 (6分31秒) 418 (6分58秒) 356 (5分56秒)
Unity2022.3.1f1 にアップグレード 1283 (21分23秒) 1313 (21分53秒) 1224 (20分24秒)
(追記)Unity2022.3.4f1 にアップグレード 1402 (23分22秒)

Unity2022 にアップグレードすると、全て20分以上掛かるようになってしまいました。
因みに、それぞれ3回ほどビルドしてみましたが、ビルド時間はほとんど変わりませんでした。

Unity2022 で作ったプロジェクトを Unity2021 で開く

Unity2022 で 2D Core テンプレートプロジェクト を作成し、そこにプログラムやアセットを少し加えたプロジェクトを、Unity 2021 で開いてビルドしました。

バージョン ビルド時間 (秒)
Unity2021.3.16f1 にダウングレード 277 (4分37秒)
Unity2022.3.1f1 のまま 1130 (18分50秒)

やはり Unity 2022 ではビルド時間が20分近くかかります。

遅いところ

ビルドすると、ゲージの8割くらいまではすぐに達するのですが、その後の Linking build.js (wasm) というメッセージが出ている個所で非常に時間がかかります。

image.png

フォーラムでも言われてました。(https://forum.unity.com/threads/webgl-build-linking-build-js-wasm-takes-forever.1315203/)
Unity2022.2.0f1 以上のバージョンだとこの現象が起こるようです。

原因

分かりません。

対策

Unity 2022.1 以下のバージョンにしましょう。 Unity2021 の LTS 版(Unity2021.3.○○ のもの) が無難でしょう。
Build Setting 内の Code OptimizationShorter Build Time にしましょう。

まとめ

手を付けていないテンプレートプロジェクトを WebGL ビルドするだけなら、Unity2022 の方が早いですが、手を加えたプロジェクトをビルドするなら Unity2021 の方が早いです。

Unity のバージョンを 2021 から 2022 に上げて Unity1Week に参加しようとしている方は、一旦試しに WebGL ビルドをしてビルド時間を確かめておいた方が良いです。

(追記) Unity2022.3.4f1 でもまだ直っていませんでした

ビルド時間が遅いと感じたら、Build Setting 内の Code Optimization の設定を確認してみましょう。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?