コードの型
現在のシーン情報を取得し、その名前やIDを確認します。
C#
using UnityEngine.SceneManagement; // これを冒頭に書くのが必須!
void Start()
{
// 現在のシーン情報を取得
var currentScene = SceneManager.GetActiveScene();
// シーンの名前を表示
Debug.Log("今のシーン名: " + currentScene.name);
}
コードの仕組み
Unityのプロジェクトは複数の「シーン(レベル)」で構成されており、SceneManager がそれらを取りまとめています。
- シーンの特定:
GetActiveScene()は、現在動いているメインのシーン情報を返してくれます。 - 情報へのアクセス: 返ってきたデータには
name(名前)やbuildIndex(ビルド番号)などの情報が入っています。
活用例(リトライ処理)
ゲームオーバーになった際、「同じシーンを最初からやり直す(リロードする)」処理には SceneManager が欠かせません。
C#
using UnityEngine.SceneManagement;
public void ReloadScene()
{
// 現在のシーン名を取得して、もう一度読み込む
string sceneName = SceneManager.GetActiveScene().name;
SceneManager.LoadScene(sceneName);
}
その他(重要ポイント)
- 名前空間の追加:
using UnityEngine.SceneManagement;をスクリプトの一番上に書かないと、SceneManagerは認識されません。これが無いとエラーになるので一番の注意点です。 - Build Settingsの確認: シーンを切り替えるには、Unityエディタの
File > Build Settingsに、使いたいシーンがすべて登録されている必要があります。登録されていないシーンは読み込むことができません。 - シーン遷移の命令:
GetActiveScene():今のシーンを知る。LoadScene("シーン名"):別のシーンへ移動する。
初心者向けまとめ
SceneManager は、「ゲーム全体の進行を司る司令塔」です。
- 今どこにいるかを確認する(
GetActiveScene) - 次のステージへ進む(
LoadScene)


コメント