概要
スクリプトデバックとはVisual Studion等のデバッカーを用いて、ユーザーが作成したC#のコードにbreakポイントを貼りステップ実行を行うデバック方法です。
Unity Editorで実行する場合、スクリプトデバックは比較的容易なのですが、Android端末でアプリケーションを実行する場合は、なぜか上手く行かないという話しを度々聞くのでここで可能な限り完結に説明します。
実行環境
- Windows10
- Unity2019.4.20f1
- Pixel4XL(Android12Preview)
ビルド時の設定
以下の機能をにチェックを入れてください。
- Development Build
- Script Debugging
- Wait For Managed Debugger
Development BuildとScript Debuggingは必須です。
Wait For Managed Debuggerを有効にすることで、アプリケーション起動時にAndroid端末とデバッカーの接続が行うタイミングを用意してくれます。
これによって、アプリケーション起動時からのデッバクが可能となります。
また、Run Deviceのプルダウンリストの表記がDefault deviceとなっていますが、デバックを行いたい端末がリストの含まれていることを一度確認にして下さい。
表示されていない場合、Android端末側の設定に問題がある可能性があります。
設定->システム->開発者向けオプション->USBデバック が有効になっているか確認してください。
問題がなければ、Build And Runを押してアプリケーションをビルドしてAndroid端末へ転送します。
アプリケーションの起動
Android端末でアプリケーションが起動すると直ぐ(スプラッシュスクリーンが表示される前)に以下の画像のダイヤログが表示されます。
これが先程説明したAndroid端末とデバッカーを接続するタイミングです。
Visual Studio(デバッカー)の設定
Unity EditorのProject Viewからデバックを行いたいC#のファイルをダブルクリックしてVisual Studioを起動します。
Visual Studio->デバック->Unity デバッガーのアタッチを選択します。
Unity インスタンスの選択Windowが表示されるので、AndroidPlayerもしくはAndroid Player(USB)を選択してOKを押します。