Unity 메인메뉴 / 씬 전환

SourStar15·2025년 5월 28일

Unity

목록 보기
2/4

Build Profiles

유니티6로 넘어와 씬전환을 위한 빌드전환이 기존에 있던 빌드세팅이 빌드 프로파일로 변경되었습니다. 현재 제가 원하는 것은 메인메뉴를 통해 게임을 시작하게 되는 구조를 원하기 때문에 메인메뉴 씬, 게임 씬 두개를 추가하겠습니다.

세팅을 할 때 유의사항이 있습니다. 씬 리스트에서 첫번째로 실행되어야 하는 게 맨 위로 올라가야 합니다. 즉 0번 인덱스 부터 시작한다고 생각하시면 됩니다. 당연히 메인메뉴가 먼저 나오고 게임실행 버튼을 누를경우 게임이 실행되어야 하기 때문에 메인메뉴를 가장 위로 올려두었습니다.

Canvas

먼저 메인메뉴를 만들기 위해서는 캔버스가 필요합니다.
Hierarchy(계층)에서 우클릭으로 캔버스 혹은 버튼등을 만들어 줍니다.

캔버스가 없는 상황에서 버튼을 만든다면 캔버스도 자동으로 만들어지게 됩니다.

이미지와 버튼 추가

이미지 또한 추가해서 메인메뉴의 백그라운드 배경을 설정해줍니다.

버튼도 간단하게 만들어 줬습니다.

버튼연결

가장 중요한 버튼연결을 하겠습니다.
먼저 MainMenuUI라는 스크립트 파일을 만들었습니다. 스크립트의 코드는 아래와 같습니다.

using UnityEngine;
using UnityEngine.SceneManagement;
public class MainMenuUI : MonoBehaviour
{
    public void StartGame()
    {
        SceneManager.LoadScene("Scene_A");
    }

    public void QuitGame()
    {
        Application.Quit(); //빌드된 게임에서만 작동
    }
}

이렇게 보니 상당히 간단한 코드입니다.
게임을 시작하게 되면 현재 MainMenu가 나오고 Start 버튼을 누르면 Scene_A라는 게임 씬이 실행이 되는 구조입니다.

버튼클릭 연결

이벤트를 연결하기 위해 메인메뉴 씬에서 빈 오브젝트를 만든후 MainMenuUI코드를 추가해줍니다.
저는 이 오브젝트를 UIManager라고 작성했습니다.

On Click()

해당 버튼의 인스펙터창을 보면 On Click() 이라는 부분을 확인할 수 있습니다.

  • 버튼을 눌러 추가를 해준뒤에 아까 추가해줬던 빈 MainMenuUI 코드가 추가된 빈 오브젝트를 넣어준뒤 위 코드에서 작성해준 StartGame을 지정해줍니다.

UI스크립트 코드에서 다음씬으로 넘어가기 위해 작성한 코드 함수 이름이 StarGame입니다.
반대로 게임 종료 버튼을 누르기 위해선 QuitGame을 찾아서 지정해 주면 됩니다.

간단하게 메인메뉴에서 버튼 두개로 다음 씬을 전환할 수 있게 만들어 보았습니다.

profile
banana92714@gmail.com 게임클라이언트 개발자 지망생

0개의 댓글