유니티 Scene이 로드(Load)됐음을 알 수 있는 콜백 함수

씬이 로드됨을 알아야 할 때가 종종 있습니다. 예를 들어, 멀티플레이어 게임이라든지, 로딩화면에서 대기하고 있으며 로딩이 다 된 경우에 클릭하면 넘어갈 수 있는 상황 등에 사용할 수 있습니다.

 

유니티에서는 씬(Scene)이 로드될 때 호출되는 콜백 함수는 SceneManager 클래스의 sceneLoaded 이벤트를 사용하면 됩니다. sceneLoaded 이벤트는 씬이 로드되었을 때 호출되며, 로드된 씬과 로드 모드를 매개변수로 받습니다.

using UnityEngine;
using UnityEngine.SceneManagement;

public class SceneLoader : MonoBehaviour
{
    void OnEnable()
    {
        SceneManager.sceneLoaded += OnSceneLoaded;
    }

    void OnDisable()
    {
        SceneManager.sceneLoaded -= OnSceneLoaded;
    }

    void OnSceneLoaded(Scene scene, LoadSceneMode mode)
    {
        Debug.Log("Loaded scene " + scene.name);
    }
}