コガネブログ

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

【Unity】ゲームのパフォーマンスに影響を与えるソースコードやプロジェクトの設定を分析できる「Project Auditor」紹介

はじめに

「Project Auditor」を Unity プロジェクトに導入することで
ゲームのパフォーマンスに影響を与えるソースコードやプロジェクトの設定を
分析できるようになります

(この記事を書いた時点ではまだ実験中の機能とのことです)

使い方

f:id:baba_s:20191223110912p:plain

Unity メニューの「Window > Analysis > Project Auditor」を選択して

f:id:baba_s:20191223110917p:plain

「Analyze」を押すと分析を開始します

f:id:baba_s:20191223110632p:plain

分析が完了すると、ゲームのパフォーマンスに影響がある
ソースコードやプロジェクトの設定を確認できます

例えば、ソースコードの分析結果では下記のようなことがわかります

  • ボックス化が発生している
  • Camera.main にアクセスしている
  • GetComponent 系の関数を使用している
  • Input.touches にアクセスしている
  • FInd 系の関数を使用している
  • Renderer.material にアクセスしている
  • etc.

f:id:baba_s:20191223110635p:plain

プロジェクトの設定では下記のようなことがわかります

  • Metal API Validation が有効になっている
  • 加速度センサーが有効になっている
  • WebGL のキャッシュが無効になっている
  • Auto Sync Transforms が有効になっている
  • etc.

f:id:baba_s:20191223111700p:plain

ソースコードの分析結果をダブルクリックすると
コードの該当箇所を開くことができます

f:id:baba_s:20191223111703p:plain

分析結果を選択すると、なぜパフォーマンスに影響を与えるのか、
どのように修正するのがオススメか、といったことが確認できます

f:id:baba_s:20191223111251p:plain

アセンブリを選択して分析結果を絞り込むことができます

f:id:baba_s:20191223111301p:plain

どのようにパフォーマンスに影響を与えるかで絞り込むこともできます

f:id:baba_s:20191223111304p:plain

「Export」を押すと分析結果を CSV で出力できます

f:id:baba_s:20191223111307p:plain

Unity プロジェクトにおいて無視したい分析結果があれば、
その分析結果を選択した状態で「Mute」を押すと非表示にできます

非表示にした結果を再度表示したい場合は「Show Muted Issues」をオンにして
非表示にした結果を選択した状態で「Unmute」を押します