JetBrains Rider 2026.1 Help

コードインスペクション:「Camera.main」は高負荷です

Camera.main(英語) プロパティは、 "MainCamera" のタグが付けられた最初のカメラを返します。 Unity より前の 2019.4.9 バージョンでは、これは FindGameObjectsWithTag(英語) を呼び出すことで実装されます。 結果はキャッシュされないため、このプロパティに頻繁にアクセスするとパフォーマンスに影響が出る可能性があります。 カメラをフィールドにキャッシュし、 Start または Awake で値を設定することを検討してください。

Unity 2019.4.9(英語) 以降、 Camera.main は大幅に高速化されました。 内部的には、Unity が "MainCamera" タグを持つ GameObject インスタンスのキャッシュを保持しており、 Camera.main はこのキャッシュ内の最初に有効化されたオブジェクトを返します。 これにより処理速度は大幅に向上しましたが、 GetComponent の呼び出し(ネイティブコードへの移行を含む)とほぼ同じになり、値をキャッシュしておくことが依然として推奨されます。

このインスペクションは、パフォーマンスが重要なコンテキストで Camera.main プロパティにアクセスされた際に、パフォーマンスインジケーターのハイライト表示を追加します。 JetBrains Rider は、 Alt+Enter を介してコンテキストアクションも提供し、結果を Awake または Start メソッドでキャッシングできます。

Camera.mainドキュメント(英語)とサポートドキュメント 「Camera.main の動作が遅い」(英語)を参照してください。 Unity 2019.4.9 のリリースノート(英語)には「Camera.main へのクエリははるかに高速です」とだけ記載されています。 Unity 2020.2 のパフォーマンス改善に関するこのブログ記事(英語)には「最適化された Camera.main 」に関するセクションが含まれています。

2026 年 6 月 12 日