VS Code로 유니티 개발하기 (macOS 사용자를 위한 팁 포함)
안드로이드나 iOS 앱 개발시 사용하는 안드로이드 스튜디오나 Xcode는 빌드 툴과 에디터가 통합되어 있습니다. 하지만, 유니티 (Unity)는 게임 구성 편집 및 빌드를 담당하는 툴 (Unity Editor)와 스크립터 편집기가 분리되어 있습니다.
따라서, 자신이 사용하고 싶은 편집기를 원하는 대로 골라서 사용할 수 있지만 일반적으로 아래 세 가지의 편집기를 주로 사용합니다.
- MonoDevelop
- Visual Studio (Community Edition)
- VS Code (Visual Studio Code)
유니티를 처음 시작하시는 분들 중 대다수는 유니티를 설치할 때 함께 설치할 수 있는 MonoDevelop 혹은 Visual Studio를 사용하실 것입니다. 그렇다면, 기본으로 제공되는 툴 대신 VS Code를 사용하는 이유는 무엇일까요? 기본으로 제공되는 툴의 가장 큰 단점을 꼽아보면 다음과 같습니다.
- MonoDevelop: 타 편집기 대비 편집기 자체의 기능이 부족합니다.
- Visual Studio: 툴 성능은 훌륭하나 앱 구동시간이 느립니다. 또한, 상용 목적으로 Community Edition을 사용할 경우 제약된 조건 내에서만 사용할 수 있습니다.
반면, VS Code를 사용하면 위의 단점들을 모두 극복할 수 있습니다. VS Code의 대표적인 특징은 다음과 같습니다.
- 강력한 에디터 성능 (Visual Studio에서 사용하는 IntelliSense 지원)
- 익스텐션을 통한 다양한 언어 및 개발환경 지원
- 빠른 앱 구동시간
- 상용 개발에 제약없이 사용 가능
VS Code는 Visual Studio Code 웹사이트에서 다운로드 받을 수 있습니다.
유니티에서 VS Code를 사용하기 위해 필요한 절차
VS Code를 사용하여 유니티 스크립트를 편집하려면 VS Code 외 추가 개발툴을 설치해야 합니다.
.NET Core SDK
유니티 C# 스크립트에서 사용하는 .NET Framework를 사용하기 위해 설치합니다.
- 다운로드 사이트에서 .NET Core SDK를 다운로드 후 설치합니다.
- (Windows만 해당) 설치 완료 후 시스템을 다시 시작합니다.
- 명령 프롬프트 혹은 터미널에서
dotnet
명령어를 실행하여 SDK가 제대로 설치되었는지 확인합니다.
Mono
(macOS만 해당) 다운로드 사이트에서 Visual Studio channel release를 다운로드 후 설치합니다.
주의: Mono가 제대로 설정되어 있지 않은 경우, 편집기에서 유니티 관련 API에 대한 참조를 찾지 못해
The name MonoBehavior does not exist in the current context.
와 유사한 에러가 발생합니다.Mono를 기존에 설치한 경우라도, 간혹 모종의 이유로 설정이 깨지면 위와 같은 에러가 발생합니다. 이 경우, Mono를 재설치하여 해결할 수 있습니다.
VS Code C# Extension
VS Code 실행 후, Extension 메뉴에서 C# 익스텐션을 설치합니다.
macOS 사용자를 위한 유의사항
C# 익스텐션이 최신 버전으로 업데이트 될 때, 시스템에 설치된 .NET Core SDK가 호환되지 않는 경우가 빈번하게 발생합니다. 이렇게 되면 IntelliSense가 동작하지 않아 자동 완성 또한 동작하지 않게 되므로 개발이 매우 불편해집니다. (사실 불가능에 더 가깝죠)
참고로 이 문제가 발생하면 로그 창에 아래와 유사한 메시지가 표시됩니다.
[fail]: OmniSharp.MSBuild.ProjectLoader
The reference assemblies for .NETFramework,Version=v4.7.1 were not found.
To resolve this, install the Developer Pack (SDK/Targeting Pack) for this framework version or retarget your application.
You can download .NET Framework Developer Packs at https://aka.ms/msbuild/developerpacks
이러한 현상을 방지하려면 VS Code에서 익스텐션을 자동으로 업데이트 하지 않게끔 설정하고, 설치되어 있는 C# 익스텐션의 버전을 시스템에 설치된 버전과 호환되는 버전으로 다운그레이드 해야 합니다.
익스텐션 자동 업데이트를 해제하는 방법은 다음과 같습니다.
- Preferences > Settings 메뉴를 선택합니다.
- 화면 상단의 검색 바에 Update를 입력하여 업데이트 관련 설정만 표시되도록 합니다.
- Features 카테고리 아래의 Extensions 항목을 선택한 후, Extensions: Auto Update를 체크 해제합니다.
설치된 C# 익스텐션을 다운그레이드하는 방법은 다음과 같습니다.
- Preferences > Extensions 메뉴를 선택합니다.
- 설치된 익스텐션 목록에서 C# 익스텐션을 찾은 후, 오른쪽 구석의 톱니바퀴 버튼을 누릅니다.
- 버튼을 누르면 표시되는 컨텍스트 메뉴에서 Install another version 항목을 선택합니다.
- Select version to install 입력 필드가 표시되고, 잠시 기다리면 선택할 수 있는 버전들이 목록으로 표시됩니다. 시스템에 설치된 .NET Core SDK 버전과 호횐되는 버전을 선택 후 설치합니다.
참고: .NET Core 3.1 버전 기준 문제없이 호환되는 버전은
1.22.1
버전입니다. (2020년 9월 14일 확인)
Unity Editor 설정 변경
스크립트 파일을 열 때 VS Code를 사용하게끔 하려면 Unity Editor 설정을 변경해야 합니다.
- Unity Editor에서 Preferences 메뉴를 선택합니다.
- Preferences 다이얼로그 내에서 External Tools 항목을 선택합니다.
- External Script Editor 드롭다운 버튼을 선택한 후, Browse 항목을 선택합니다.
- 이후 표시되는 파일 선택 다이얼로그에서 VS Code 실행파일을 선택합니다.
운영체제별로 VS Code가 설치되는 경로는 다음과 같습니다.
- Windows:
C:\users\{username}\AppData\Local\Programs\Microsoft VS Code\Code.exe
- macOS:
/Applications/Visual Studio Code.app
설정이 완료되면 다음과 같이 Visual Studio Code가 선택된 것을 확인할 수 있습니다. (운영체제에 따라 표시되는 이름을 다소 차이가 있을 수 있습니다)