UnityのGame ViewにLogを表示するツールつくった
Unityでゲームやアプリを開発している際に、エディター上では問題なく動作しているが、 iOSやAndroid端末で実行するとエラーになったり、クラッシュしたりというケースがあるかと思います。
Xcode(iOS)やLogcat(Android)を使ってログをチェックすれば、原因を特定できますが、PCと端末をつないだり、ログを出力するコードを書いたりと結構手間がかかります。
今回、そういった手間をなるべく減らしたいということで、ログを端末上で確認しやすくするGUIツールを作りました。
GUIConsole.cs
画面はこんな感じです。
基本的なUI構成はUnityのConsoleに似せてあります。
できること
- ログのリスト表示(Log、Warning、Error、Exception)
- ログの詳細表示(呼び出しファイル・関数の追跡可)
- ログの簡易エクスポート機能
ログの簡易エクスポート
本当はiOSやAndroid端末でもクリップボードにコピーしたかったが、
ネイティブの機能を追加しなくてはならない感じなので、
ひとまずメール画面(本文)に出力するように。
使い方
GUIConsole.csとGUIConsoleButton.csをシーン内の同じGameObjectにアタッチすると動作します。
詳しい使い方は、GithubのReadmeとAssets/GUIConsole/Sample/Scenes/GUIConsoleSampleScene.unityにサンプルがあるので、そちらをご覧ください。
LogViewerとの違い
同じくGame ViewにLogを表示するツールとしては、 LogViewerがあります。 LogViewerの記事
GUIConsoleのLogViewerとの違いを挙げると、
- 表示がウィンドウになっている & 背景が透過なので、操作しながら確認ができる。
- コンソールのウィンドウサイズなどを、Inspector上で設定できる。
- ログ・エラーの関数の呼び出しが追跡ができる
- ログの内容をエクスポートできる。
が挙げられます。
ケースによって使い分けると良いかと思います。