
1. 준비

[File] -> [Build Profile] -> [Scene List]
씬 이동을 구현하기 위해서는 유니티가 사용할 씬에 대한 리스트를 가지고 있어야 합니다.
[Add Open Scenes] 버튼을 클릭하여 현재 씬을 리스트에 추가할 수 있습니다.
2. 네임스페이스
C#
using UnityEngine.SceneManagement;씬 이동, 관리를 하기 위해서는 ‘SceneManagement’ 네임스페이스를 선언 해야 합니다.
3. LoadScene()
C#
private void ChangeScene()
{
SceneManager.LoadScene(1);
SceneManager.LoadScene("Scene1");
}LoadScene은 ‘()’내에 들어간 씬의 이름 또는 씬 리스트의 인덱스값을 넣어 호출할 수 있습니다.
4. 씬 재시작
C#
private void RestartScene()
{
SceneManager.LoadScene(SceneManager.GetActiveScene().name);
}SceneManager의 GetActiveScene()함수를 사용하여 현재 활성화 된 씬의 이름을 가져올 수 있습니다.
이를 활용하여 현재 씬의 재시작을 구현할 수 있습니다.
5. 주의사항
씬을 로드하면 이전 씬의 모든 데이터는 메모리에서 제거됩니다.
이를 방지하려면 PlayerPrefs를 활용하거나, 씬 이동 후에도 데이터를 가져야 되는 스크립트에 DontDestroyOnLoad() 함수를 추가하여 씬 이동에도 오브젝트가 제거되지 않도록 할 수 있습니다.



