이 글은 애플 실리콘(M1칩)을 사용하는 맥북에서 Unity와 VSCode를 설정하는 것을 다룹니다.
윈도우의 경우 다른 글을 참고하는게 좋습니다.
Unity 설치
1. 유니티 허브(Unity Hub) 다운로드 및 설치
유니티 홈페이지에 접속해서 유니티 허브를 다운로드 하면 된다.▼
필자는 베타버전을 사용하고 있다.
현재까진 다른 버그는 발견하지는 못했지만, 나중에 어떤 버그가 발생할 지 모르기에 안정된 일반 버전을 설치하는게 좋을 것 같다.▼
다운로드 했다면 파일을 열고 설치하면 된다.▼
설치를 완료했다면 유니티 계정으로 로그인하자.
2. 유니티 버전 설치
성공적으로 로그인 했고, 유니티 기능들에 접근할 수 있다면 유니티 버전을 설치할 차례다.
Install Editor를 눌러서 설치 목록을 확인해보자.▼
Officail release 탭에 여러 버전이 나올 것인데, LTS버전 설치를 권장하고 있다.
LTS는 리스트 위에 부제로 써있듯이 Long Term Support의 줄임말로 꾸준히 지원해주는 버전이다.
필자는 일단 강의와 최대한 유사하게 따라가기 위해 2021.2.14f1 버전을 설치했다.
어떤 버전을 설치할 지는 본인 선택이다.
강의에서 특별한 이유로 다른 버전 설치를 권장하고 있다면, 그 버전을 설치하는 게 좋다.
하지만 다른 특별한 이유가 없다면 역시 LTS버전이 가장 무난하다.▼
적당한 버전을 찾아서 설치를 눌렀다면(일단은 2020.3.30f1 버전을 예시로 한다), 세부 사항이 나올 것이다.
우리는 VSCode를 사용할 것이기 때문에 Visual Studio for Mac은 체크를 해제해준다.
윈도우 버전의 Visual Studio에 비해 Mac 버전의 Visual Studio는 뭔가 많이 빠진듯한 느낌이라 불편했다.
그래서 유니티 뿐만 아니라 통상적으로 많이 이용되는 VSCode를 이용할 것이다.▼
그리고 아래로 조금 내리면 WebGL Build Support라는게 있는데 필요하면 설치하고 필요 없으면 설치하지 않아도 된다.
필자는 강의에서 이 부분에 대해서도 알려준다고 해서 같이 설치했다.
이걸 설치 안하면 Unity 자체가 실행이 안되거나 하는 건 아니다.▼
마지막으로 설치를 누르면 다운로드를 시작한다.
VSCode와 C#
다운로드 할 동안 VSCode와 C#을 구성해보자.
1. VSCode 다운과 설치
VScode의 경우 아래의 링크에서 다운 받으면 된다.▼
링크된 홈페이지로 가면 Universal 버전이 있는데, Other downloads로 가면 Apple Silicon을 위한 버전이 있다.▼
Intel Chip과 Apple Silicon의 차이는 명확한데, Universal은 뭔가 싶을 수 있다.
Universal은 Intel Chip과 Apple Silicon을 모두 지원하는 버전이다.
Apple Silicon의 경우 로제타2를 이용해서 둘 다 돌릴 수 있다.
지금 우리가 VSCode를 사용하는 이유는 Unity의 스크립트를 작성하기 위함이므로 뭘 골라도 상관없다.
필자는 Apple Silicon 버전으로 설치했다.▼
2. C#을 위한 세팅
이제는 C#과 유니티의 API를 VSCode에서 쓰기 위한 몇가지 세팅을 해볼 것이다.
Mono
.NET SDK
C# Extension
이 세 가지를 설치하면 된다.
Mono 설치
Mono를 설치해야 Unity API를 VSCode에서 제대로 찾을 수 있다.
링크에서 다운로드 할 수 있다.▼
사이트에 들어가면 두 가지 버전이 있는데, 우리는 VSCode에서 사용할 것이기 때문에 왼쪽 파란색 버튼을 눌러주면 된다.▼
다운을 다 받았다면 설치하면 된다.▼
.NET SDK
.NET SDK의 경우 아래의 링크에서 다운 받을 수 있다.▼
사이트에 들어가서 macOS 탭으로 가면 LTS의 .NET 6.0을 다운받으면 된다.
M1 칩은 ARM 아키텍쳐이므로 아래의 버전을 다운받자.▼
다운을 다 받았으면 설치하면 된다.▼
C# Extension
이제 다시 VSCode로 돌아가서 C# Extension을 설치하자.
왼쪽 탭의 확장탭으로 들어가면 검색할 수 있는 게 나오는데 일단 C#을 설치한다.
사진에서는 구버전을 사용하고 있는데 이 이유는 여러 문제들 항목에서 이야기하겠다.▼
Unity의 기본 편집기 설정
일단 설정을 위해 새 프로젝트를 하나 만들어보자.
유니티 허브로 들어가서 New project를 눌러 새 프로젝트 설정으로 들어간다.▼
그러면 아래와 같이 창이 생성이 될 것인데, 현재 2D 프로젝트를 만들것이기 때문에 2D Core를 골라준다.
그리고 앞에서 다운 받았던 Editor Version을 선택해준다.
하나만 다운 받았다면 다운 받은 하나로 자동으로 선택이 될 것이고, 여러 개라면 확인을 잘 해보고 원하는 버전으로 바꿔준다.
나중에 바꾸면 귀찮아지니 Project Name도 설정해준다.
프로젝트 생성위치는 잘 기억해놓거나, 원하는 위치로 바꿔주자.
필자는 그냥 유저 홈에 생성하게 했다.
이렇게 설정을 마쳤으면 Create project를 눌러 생성한다.▼
기나긴 로딩을 기다리면 이런 화면이 나올 것이다.
유니티를 다루는 것은 다음에 확인하는 것으로 하고, 일단은 유니티의 스크립트를 다룰 IDE를 설정해주자.▼
일단은 상태바에 있는 Unity 이름을 눌러 Preferences로 들어간다.▼
그리고 External Tools 탭에서 External Script Editor 항목에서 Visual Studio Code를 선택해주면 연결된다.▼
그러면 테스트를 위해 C# Script 하나를 만들어보자.
Assets 폴더(아래의 폴더 아무데나)에서 빈 공간에 우클릭을 하면 맨 위에 Create 항목이 나온다.
여기서 C# Script를 선택해서 하나 만들어 보자.▼
파일 이름과 클래스 명이 같게 생성되기 때문에 생성 당시에 이름을 제대로 설정해주는 것이 좋다.
나중에 파일 이름을 바꾸게 되면 스크립트에서 클래스 명도 바꿔줘야하기 때문에 번거로운 과정들을 거칠 수 도 있다.▼
그리고 파일을 실행하면 VSCode로 잘 열릴 것이다.
여러 문제들
연동은 됐지만, 매끄럽게 잘 실행되지 않을 때가 있다.
첫번째로 VSCode에서 아래와 같은 문제들이 발생하는 경우다.▼
Some projects have trouble loading. Please review the output for more details.
위의 "Some projects have trouble loading. Please review the output for more details." 라는 에러의 경우 omnisharp와 C# extension을 고쳐주면 해결된다.
omnisharp
사진처럼 경로를 따라가 VSCode 설정으로 들어가 보자.▼
사진에 나온대로 검색하면 Omnisharp: Use Global Mono 라는 항목이 나오는데 auto에서 always로 변경해주자.▼
C# extension
그 다음에는 C# extension의 버전을 낮출 것이다.
C# extension을 설치하면 최신 버전을 설치하게 되는데, 이게 상당히 불안정하다는 평도 많고 실제로도 오류가 꽤 자주 발생한다.
그래서 위에 C# 설치 부분에서 필자가 구버전을 사용하고 있던 이유가 이 이유 때문이다.
command(⌘) + shift(⇧) + p 커맨드로 사진의 검색창을 열고 Extension:install specific을 검색하여 특정 확장 버전 설치를 선택한다.▼
그러면 아래에 설치했던 확장 목록들이 나오는데, 여기서 C#을 선택해주고 잠깐 기다린다.▼
그러면 이렇게 예전 버전들이 나오는데 필자는 1.23.17 버전으로 설치했다.
적당히 예전 버전을 설치하면 대부분 되는거 같다.▼
이렇게 설치하고 VSCode를 완전히 종료했다가 다시 키면 첫번째 오류는 해결이 된다.
The .NET SDK cannot be located.
이 오류는 .NET SDK 경로를 못찾는 에러인데 보통 SDK 설치를 하고 재부팅을 하면 해결이 되는 것 같다.
또는 아예 설치가 안된 경우일 수 있으니 설치를 확인해보자.
설치를 확인하는 방법은 터미널에 사진과 같이 입력하면 설치 정보가 나온다.
설치가 안됐다면 에러가 나온다.▼
자동완성이 안될 때
가끔 자동완성 기능이 되지 않을 때가 있다.
처음 이 문제를 마주했을 땐, 그동안 Vim을 애용해서 사실 엄청나게 큰 문제는 아니긴 했다.
하지만 Unity API에 정의되어있는 메소드나 프로퍼티가 엄청나게 많아서 다 외우는 건 사실상 불가능하기에 자동완성의 힘을 빌릴 수 밖에 없다.
또한 강의나 다른 사람들이 올려놓은 지침서를 보고 따라할 때 자동완성에 해당 변수나 메소드가 나오지 않으면 제대로 타이핑 했음에도 문법상 오류가 있는지 재차 확인하게 되고 잘못한게 아닌가 헷갈리기도 한다.
간단하게 확인해보는 방법은 transform이나 Destroy()를 쳐보는 것이다.
자동완성이 제대로 된다면, transform 기준 오른쪽 사진과 같이 스패너 모양으로 transform과 transform의 메소드와 변수들이 잘 나온다.
제대로 안된다면, 왼쪽 사진과 같이 다른 것들이 나온다.▼
1. VSCode에서 여러 프로젝트를 띄웠는지 확인
여러 프로젝트의 폴더가 탐색기에 등록이 되어있으면 자동 완성이 안될 수 도 있다고 한다.
따라서 VSCode를 끄고 Unity를 통해서 프로젝트에 접근해본다.
2. Unity에서 Open C# Project로 VSCode 열기
필자는 이 방법으로 해결했다.
sln 파일이 포함되지 않으면 자동완성에 문제가 생기는데 이 방식으로 열면 sln 파일이 생성되면서 포함되어 자동완성이 제대로 동작한다고 한다.
Open C# Project는 사진에 보이는대로 Assets 탭에 있다.▼
마치며
정말 우여곡절 끝에 Unity와 VSCode의 설정이 끝났다.
(다른 오류들이 발생했다면 Stack Overflow나 구글링으로 해결을 해야할 것 같다.)
이제 본격적으로 Unity 2D 게임 프로그래밍을 시작하자.
'Develop > Unity' 카테고리의 다른 글
[Unity2D] Input 시스템 (0) | 2024.03.03 |
---|---|
Unity2D: Start와 Update (0) | 2024.03.01 |
[Unity2D] Object와 Sprite (0) | 2024.02.22 |
[Unity2D] 게임 디자인 (0) | 2024.02.22 |
[Unity2D] 기초에 앞서 (0) | 2024.02.22 |