はじめに
「UnityEngineAnalyzer」を使用することで
Unity プロジェクトの静的解析を行うことができるようになります
使い方
UnityEngineAnalyzer を使用して静的解析を行う方法は大きく分けて2つあります
- Visual Studio のプロジェクトに UnityEngineAnalyzer を追加する
- コマンドラインから UnityEngineAnalyzer を使用する
Visual Studio のプロジェクトに追加する方法
Visual Studio メニューの「ツール>NuGet パッケージ マネージャー」から
「ソリューションの NuGet パッケージの管理」を選択します
「参照」タブで「UnityEngineAnalyzer」を入力し、
検索にヒットした「UnityEngineAnalyzer」を選択して
導入したいプロジェクトをチェックして「インストール」を押します
すると、例えばこのようなコードを記述していた場合、
このようにパフォーマンスに影響のあるコードがわかるようになります
また、「エラー一覧」ウィンドウに警告の内容が出力されるようになります
注意
Unity でコンパイルを行うたびに UnityEngineAnalyzer の機能が無効化されてしまいます
それを防ぐために下記のコードを Unity プロジェクトの
「Editor」フォルダに追加する必要があります
コマンドラインから使用する方法
- 下記のページを開きます
https://github.com/vad710/UnityEngineAnalyzer/releases - 「UnityEngineAnalyzer-Alpha-5.zip」を選択します
- ダウンロードした「UnityEngineAnalyzer-Alpha-5.zip」を展開します
- コマンドプロンプトを開きます
- 「UnityEngineAnalyzer.CLI.exe」が存在するフォルダに移動します
- 下記のようにコマンドを入力して実行します
UnityEngineAnalyzer.CLI.exe 【静的解析する .csproj のファイルパス】
例)
UnityEngineAnalyzer.CLI.exe C:\Code\MyGame.CSharp.csproj
- 静的解析が終わったら解析結果が「UnityReport.html」という名前で
Unity プロジェクトのフォルダに作成されます
出力された「UnityReport.html」を表示すると解析結果を確認できます
(「UnityReport.html」は Firefox 以外のブラウザで開くと正常に結果が表示されません)
参考サイト様
http://forum.china.unity3d.com/thread-27164-1-1.html
https://forum.unity.com/threads/unity-strips-out-nuget-properties-on-csproj-files.473016/
https://www.youtube.com/watch?v=VxeC7WFfg3Q
参考ツイート
Use https://t.co/aD7QpOf7zJ to analyze #Unity3D C# code to detect common problems & hidden rules about performance #unitytips @vad710
— Kasper Kiiskinen (@Kassu27) 2017年10月17日