渋谷ほととぎす通信

新しいこと、枯れたこと問わず大庭が興味を持ったものを調査、生活の効率を求める完全趣味の技術ブログ。基礎を大事にしています。

Unity2019 AndroidのPatchビルドが良い感じに高速


f:id:esakun:20190502033955p:plain:w450

Unity2019.1から搭載されたAndroid向けのPatchビルド。

Android: Added Script Only Patching functionality, which sends only script-related changes to the device instead of repackaging the APK file.

What's new in Unity 2019.1 - Unityより

スクリプトだけを再ビルドしてAPKを書き出してくれます。

So when you’re iterating on your C# code, only recompiled libraries are sent to the device.

Unity 2019.1 リリース – Unity Blogより

さらに、変更されたライブラリだけを再コンパイルしてデバイスに送信するとあります。このライブラリがどのような単位なのかがよく分かりませんが、確実にAndroidのビルド時間を削減してくれそうです。

使用した体感としても今までのビルド時間より短縮されているように思えました。

パッチビルドできない状況

パッチビルド時にこのようなエラーが出るときがあります。

Error building scripts: Data layout for script 'Hoge' has changed. Need to do a complete player export

上記の例だとHogeファイルの内容が大きく変わってしまって、フルビルドが必要という旨だと思われます。 こんなときは、いつものようにBuildボタンをクリックしてフルビルドすると良いのですが、Scripts Only Buildのチェックボックスを外してからBuildボタンを押さないと解消されません。

まとめ

iOS開発の場合、Xcodeプロジェクトを書き出してから再度Xcodeでビルドして初めて実機で確認できますが、Androidの場合は、UnityからAPKを書き出せてとても実機確認が楽です。
今回のパッチビルドが追加されたことで、Patch And Runを使用するとさらに実機確認までを高速化でき、作業効率を大きく上げることができそうです。

今まではiOS端末ベースで開発していたのですが、現在は作業効率的にAndroidでとりあえず開発して、その後でiOS確認という流れになりました。

LogCatもUnity上で確認できるようになり、Android開発が良い感じになってきているように感じます。

以上

環境

  • Unity2019.1f2
  • macOS HighSierra 10.13.6