유니티 | 시작할 씬을 고정시키는 스크립트

유니티에서 개발을 할 때 여러 씬을 생성한다.


게임을 만들다보면 시작 씬부터 시작해서 진행이 되야 함수나 변수 등이 제대로 동작하게 되는데

게임을 테스트 할 때 마다 해당 씬으로 가기에는 몹시 귀찮다.

그래서 중간 씬에서 게임을 테스트 할 때 바로 원하는 씬으로 이동 후 테스트 되는 스크립트가 있다.


using UnityEngine;

using UnityEngine.SceneManagement;


public class ForceStart : MonoBehaviour {

    [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]

    static void FirstLoad()

    {

        if (SceneManager.GetActiveScene().name.CompareTo("시작할 씬 이름") != 0)

        {

            SceneManager.LoadScene("시작할 씬 이름");

        }

    }

}


이 스크립트를 유니티 하이어라키 내의 아무 오브젝트에다가 넣은 후 그 씬을 실행시키면

원하는 씬부터 시작하게 된다.


이것을 가능하게 해주는 것은 함수 위에 선언하는 다음의 함수 때문이다.

[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]

이 함수는 씬을 최초로 로딩할때 한번만 호출하는 함수다. Awake, Start함수보다도 먼저 호출된다.


추가. SceneManager를 사용할 때 스크립트 상단에 using UnityEngine.SceneManagement를 선언해주어야 한다.

using UnityEngine이 포괄한다고 생각했으나 이상하게도 오류가 난다.

이 글을 공유하기

댓글

Designed by JB FACTORY