カロリーメイトください

Barbaroi Ware(バルバロイ・ウェア)という名前でアプリ開発してます

【Unity】ログ表示(Debug.Log)を無効化する方法

概要

Debug.LogはUnityプロジェクトの動作を確認するのに非常に便利ですが意外に重い処理だったりします。
実機で動作確認するときは見た目上、表示されないので忘れがちですが、バックグラウンドではしっかり実行されています。

f:id:yjkym:20191128205310p:plain:w400

f:id:yjkym:20191128205313p:plain

Android Device MonitorやXCodeで確認すると、しっかりログが出力されています。

ということで公開前などには忘れずにDebug.Logを無効化してやる必要があります。

んで、これを書いている時点で「Debug.Log 無効化」でググるとちょっと間違った情報が1番目に出てくるので正しい方法を書き留めておきます。

↓まちがい(コメント参照)
qiita.com

環境

  • Unity 2018.4.1f1 Personal

解決方法

ログを無効化する正しい方法は、以下のコードをどのスクリプトでもいいのでStart()なりAwake()なりに仕込んでおきます。

Debug.unityLogger.logEnabled = false;

Debug.Logger.logEnabled = false;でも可ですが、この書き方は現在非推奨になっています。

これでログが表示されなくなります。

↓検証
f:id:yjkym:20191128210729p:plain:w400

f:id:yjkym:20191128210727p:plain

Debug.unityLogger.logEnabledをfalseにするとログが出力されていないことがわかります。

f:id:yjkym:20191128211147p:plain:w400

f:id:yjkym:20191128211254p:plain

public変数に切り出すなどしてエディターからOn/Offを切り替えられるようにするとより汎用的になりますね。

たかがログ表示といえど、ログ出力をオフにすることでヌルヌル動くようになった…という経験を最近してしまいましたので改めて書いてみました。

誰かの参考になれば幸いです。カロリーメイトください。

本気で対策する方法

noracle.jp