コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】「UnityEngineAnalyzer」を使用して Unity のソースコードの静的解析を行う方法

はじめに

「UnityEngineAnalyzer」を使用することで
Unity プロジェクトの静的解析を行うことができるようになります

使い方

UnityEngineAnalyzer を使用して静的解析を行う方法は大きく分けて2つあります

  • Visual Studio のプロジェクトに UnityEngineAnalyzer を追加する
  • コマンドラインから UnityEngineAnalyzer を使用する

Visual Studio のプロジェクトに追加する方法

f:id:baba_s:20181217120003p:plain

Visual Studio メニューの「ツール>NuGet パッケージ マネージャー」から
「ソリューションの NuGet パッケージの管理」を選択します

f:id:baba_s:20181217120007p:plain

「参照」タブで「UnityEngineAnalyzer」を入力し、
検索にヒットした「UnityEngineAnalyzer」を選択して

f:id:baba_s:20181217120010p:plain

導入したいプロジェクトをチェックして「インストール」を押します

f:id:baba_s:20181217120017p:plain

すると、例えばこのようなコードを記述していた場合、

f:id:baba_s:20181217120014p:plain

このようにパフォーマンスに影響のあるコードがわかるようになります

f:id:baba_s:20181217122834p:plain

また、「エラー一覧」ウィンドウに警告の内容が出力されるようになります

注意

Unity でコンパイルを行うたびに UnityEngineAnalyzer の機能が無効化されてしまいます
それを防ぐために下記のコードを Unity プロジェクトの
「Editor」フォルダに追加する必要があります

コマンドラインから使用する方法

  1. 下記のページを開きます
    https://github.com/vad710/UnityEngineAnalyzer/releases
  2. 「UnityEngineAnalyzer-Alpha-5.zip」を選択します
  3. ダウンロードした「UnityEngineAnalyzer-Alpha-5.zip」を展開します
  4. コマンドプロンプトを開きます
  5. 「UnityEngineAnalyzer.CLI.exe」が存在するフォルダに移動します
  6. 下記のようにコマンドを入力して実行します
    UnityEngineAnalyzer.CLI.exe 【静的解析する .csproj のファイルパス】
    例)
    UnityEngineAnalyzer.CLI.exe C:\Code\MyGame.CSharp.csproj
  7. 静的解析が終わったら解析結果が「UnityReport.html」という名前で
    Unity プロジェクトのフォルダに作成されます

f:id:baba_s:20181217120442p:plain

出力された「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

参考ツイート

関連記事