ReSharper 2026.1 Help

コードインスペクション:短いシーン名が一意ではありません。

このインスペクションは、ビルド設定に存在する複数のシーンを参照する短い名前 (例: "MyScene") によってシーンがロードされるケースを検出します。

複数のシーンが同じファイル名を持つ場合、短いファイル名のみを使用すると、Unity の SceneManager.LoadScene の動作が予測不能になったり、意図したシーンとは異なるシーンが読み込まれたりする可能性があります。

仕組み

インスペクションは、 SceneManager.LoadScene および SceneManager.LoadSceneAsync への呼び出しを監視します。 シーン名引数として渡された文字列リテラルを分析し、 ビルド設定 (Unity の ビルド設定ウィンドウの ビルド中のシーンセクションにある .unity ファイルのリスト)に追加されたシーンと照合します。

指定された文字列(例: "Level1" )が ビルド設定内の複数のエントリ(例: Assets/Scenes/Level1.unity Assets/Tests/Level1.unity )に一致する場合、インスペクションは文字列引数に警告を表示し、混乱を避けるために、より具体的なパスを使用するよう促します。

サンプル

この例では、プロジェクトに Assets/Maps/Forest/Level.unity Assets/Maps/Desert/Level.unity という 2 つのシーンがあり、両方ともビルド設定に追加されていると仮定します。 "Level" だけを使用すると、曖昧になります。

using UnityEngine.SceneManagement; public class Loader : MonoBehaviour { void Start() { // Reported: Ambiguous scene name. // Both "Forest/Level" and "Desert/Level" match "Level". SceneManager.LoadScene("Level"); } }
using UnityEngine.SceneManagement; public class Loader : MonoBehaviour { void Start() { // Safe: Specifying a path (relative to Assets or just enough to be unique) SceneManager.LoadScene("Forest/Level"); } }

クイックフィックス

この簡易修正では、曖昧な短い名前に一致するすべての完全パスのリストが提示され、短い名前を正しい明確なパスに自動的に置き換えることができます。

2026 年 6 月 12 日