コードインスペクション:文字列ベースのグラフィックスプロパティルックアップは非効率的です
アニメーター(英語)、 材料(英語)、 シェーダー(英語)の setter メソッドと getter メソッドは、返されるプロパティまたは設定されるプロパティを識別するための文字列パラメーターを受け取ることができます。 例: Animator.GetBool(英語)、 Material.SetTexture(英語)、 Shader.GetGlobalValue(英語) など。 メソッドが呼び出されるたびに、Unity は文字列名を整数 ID に変換してプロパティを識別します。 この整数 ID は安定した値であり、事前に計算して setter および getter のオーバーロードで使用することで、メソッド呼び出しごとに ID を計算するオーバーヘッドを削減できます。
このインスペクションは、 Animator、 Shader、 Material に対して、名前ベースの Set または 取得 関数が使用されている箇所をハイライトします。 また、名前の整数 ID を計算してキャッシュし、setter または getter メソッドの文字列パラメーターの代わりにそれを使用する、静的な読み取り専用整数フィールドを導入または再利用するクイックフィックスも提供します。 Animator メソッドの場合、ID は Animator.StringToHash(英語) で計算され、 Shader.PropertyToID(英語) は Shader と Material の両方で使用されます。
2026 年 6 月 12 日