Sublime Text 2를 Unity3D 에디터로 사용하기

일단 사용해 보면 vi도 갖다 버린다는 Sublime Text 2(ST2) 에디터를 Unity3D와 함께 사용하는 방법에 대한 글입니다. 

ST2로 Unity3D의 스크립트를 편집하기 위해서는 ST2의 몇 가지 패키지들을 설치해야 합니다. 아래 참조에 나와 있는 링크들에 자세하게 설명이 나와 있지만, 실제로 사용하기 위해서 설정해 보니 아래 링크들에서 설명하고 있는 부분과 조금 다르거나 설명이 미흡한 부분이 있어, 보충해서 글을 올립니다. 

Unity3D의 스크립트를 편집할 때 Mono IDE가 불편해서 Visual Studio 플러그인을 사용해서 Visual Studio를 사용하는 분들도 꽤 있는 것으로 압니다만 많은 분들이 기본적으로 제공되는 Mono IDE를 사용하고 있을 듯 합니다. ST2를 사용하게 되면 다음과 같은 장점을 기대할 수 있습니다. 

  1. Mono IDE는 꽤 무겁습니다. Unity3D에서 스크립트를 더블 클릭하면 Mono IDE가 열리는데, Mono IDE가 꽤 무겁기 때문에 스크립트를 보기까지 꽤 시간이 걸리는데 ST2를 사용하게 되면 이러한 지연이 없습니다. 
  2. Mono IDE에서 편집후 저장한 다음 다시 Unity3D로 돌아와야지 편집이 끝난 스크립트들이 빌드되는데, ST2에서는 에디터 내에서 바로 빌드할 수 있습니다. 
  3. 에디터 내에서 원하는 Unity3D의 API에 대한 도움말을 선택하여 웹브라우저에 출력하도록 할 수 있습니다. (Unity3D의 도움말은 html로 되어 있습니다)

아래는 Unity3D 스크립트 편집을 위한 Mac에서의 ST2의 설정 방법입니다. (Windows에서도 거의 동일한 방법으로 설정이 가능합니다)


1. Sublime Text 2 인스톨

아래의 링크에서 Sublime Text 2를 다운 후 인스톨한다. 라이센스 등록은 $70 이지만 등록 없이 사용할 수 있다. 



2. Sublime Text 2용 Unity3D package 설치 

Tools > Command Palette 열기 (mac에서 'cmd + p')

Package Control:Install Package 선택

혹은 'ctrl + `' 로  sublime text에 아래의 패키지 리스트를 직접 입력 (Sublime Package Control 페이지 참조: http://wbond.net/sublime_packages/package_control/installation)

import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read()); print('Please restart Sublime Text to finish installation')

인스톨을 완료한 후 Sublime Text 2 다시 실행한다.

3. Sublime Text2 Unity3D 패키지 설치

Command Palette에서 아래의 세 패키지를 모두 선택해서 설치한다. (Command Palette 창에서 'u'를 타이핑하면 쉽게 찾을 수 있다)
  • Unity3D
  • Uniyt3D Builder System
  • Unity3D Snippets and Completes
설치시 Sublime Text 창 아래에 인스톨 진행이 표시됨.
정상적으로 인스톨 되었다면 View > Syntax 메뉴에 Unity3D가 나타난다.
여기까지 완료했다면 이제 Unity3D 스크립트 코드의 syntax를 지원하는 Sublime Text 2 편집이 가능하다. 

2, 3번의 과정이 잘 이해되지 않는다면 아래 링크의 동영상을 참고한다.
Using Sublime Text 2 With Unity3D: http://www.jacobpennock.com/Blog/?p=647

4. Sublime Text 2 에서 Unity3D 빌드하기

2번 과정에서 Unity3D Builder System 패키지를 설치했는데, 이를 이용하면 Sublime에서 편집한 코드를 바로 빌드('cmd+b')할 수 있다.

아래의 과정으로 Sublime 에서 Unity3D 프로젝트를 빌드를 테스트해 볼 수 있다. 
1) 새로운 Unity3D 프로젝트를 생성한다.
2) Unity3D의 Preference를 선택, External Tools 의 External Script Editor로 Sublime Text 2를 선택한다.
    3) 새로운 C#  스크립트를 생성한 후 더블 클릭해서 Sublime Text 에디터에서 생성한 스크립트 파일을 연다. 

    4) Sublime Text  에디터에서 Project > Add Folder to Project 메뉴를 선택하여 생성한 Unity3D 프로젝트 폴더를 선택한다. 

5) 생성한 Unity3D 프로젝트가 SublimeTextTest라면 SublimeTextTest 폴더를 선택하면 된다. 
6) Sublime Text 에디터의 Unity3D Builder System 패키지를 사용하기 위해서는 *-csharp.sln 파일이 프로젝트 폴더 내에 존재해야 한다.

  7) Sumlime Text 에디터에서 'cmd+b' 로 작성한 스크립트를 빌드한다. 

아래 그림과 같이 나온 다면 빌드에 성공한 것이다. 


Sublime Text 에디터의 Unity3D Builder System 은 빌드시 Unity3D의 설치 위치가 Mac 의 경우 Applications/Unity 위치에 설치된 것으로 설정되어 있다.

만약 여러 버전의 Unity3D 설치를 위해서 Unity3D 의 설치 위치가 Applications/Unity 가 아닌 경우 Unity Builder System의 빌드 파일을 수정해야 한다. 

Sublime Text 에디터의 Preferences > Browser Packages  메뉴를 선택한다. 

Finder에서 Unity3D Build System 폴더의 Unity.sublime-build 파일을 Sublime Text 에디터로 드래그앤드롭한다. 

파일에서 "osx"으로 설정된 부분의 "Applications/Unity" 경로를 사용하고자 하는 Unity의 경로로 변경해 준다. 만약 Unity3D가 Applciations/Unity 4.0f7 이라면 아래처럼 변경해 주면 된다.  (Windows 에서는  "windows" 부분의 Unity 경로를 Unity3D가 설치된 경로로 변경하면 된다)

Windows 라면 "windows" 부분의 경로를 Unity3D가 설치된 경로로 변경해 주면 된다. 

Sublime Text 에디터의 Project > Save Project As 메뉴를 선택해서 Sublime Text 에디터의 프로젝트로 저장한다. 

이 때 주의할 점은 저장하는 프로젝트의 이름이 *.sln 파일에서 '-csharp'을 제외한 이름으로 저장해야 한다는 점이다. 

e.g.) SublimeUnityTest-csharp.sln 인 경우 저장하는 Sublime Text 에디터의 프로젝트 이름은 SublimeUnityTest가 되어야 한다. 

Sublime Text 에디터의 Unity Builder System에서는 빌드시 .sln 파일을 사용하는데, 사용하는 .sln 파일을 Sublime Text 에디터의 프로젝트 파일 이름에 '-csharp' postfix가 추가된 .sln 파일을 찾아서 빌드하기 때문이다. (이미지의 "cmd" 부분 참조)

다시 Sublime Text 에디터에서 빌드해서 제대로 작동하는지 확인한다. 


5. Unity Helper 사용하기 

Sublime Text 에디터에서 선택한 Unity3D API의 도큐먼트를 오픈하는 것도 가능하다. 사용 방법은 아래 링크에서 참조:


6. 참조

  1. Sublime Text 2: http://www.sublimetext.com/
  2. Perfect workflow in Sublime Text 2: https://tutsplus.com/course/improve-workflow-in-sublime-text-2/
  3. Integrating Sublime Text2 and Unity - part 1: http://www.holoville.com/blog/?p=512
  4. Using Sublime Text 2 With Unity3D: http://www.jacobpennock.com/Blog/?p=647
  5. Using Sublime Text 2 with Unity3D - Part2: http://www.jacobpennock.com/Blog/?p=568
  6. Call Unity’s Mono Complier From Within Sublime Text: http://www.jacobpennock.com/Blog/?p=663
  7. Sublime Text 2 package for Unity3d build: http://blog.fredericvauchelles.com/2012/09/sublime-text-2-package-for-unity3d-builds/#
  8. Using Notepad plus plus as script editor: http://wiki.unity3d.com/index.php?title=Using_Notepad_Plus_Plus_as_a_script_editor

by kimsama | 2013/03/01 15:29 | Unity3D | 트랙백 | 핑백(1) | 덧글(7)

트랙백 주소 : http://kimsama.egloos.com/tb/3934706
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Linked at unity sublime 연동.. at 2015/07/07 09:51

... 노디벨롭으로 연결되던 게 Sublime으로 연결되어 열리게 된다. – 서브라임에서 유니티 프로젝트를 관리 및 빌드를 수행하는 방법 http://kimsama.egloos.com/3934706 – 콘솔 뷰 에러 메시지 더블 클릭의 연동 및 키워드 레퍼런스 페이지 연동 http://www.jacobpennock.co ... more

Commented by 백번구운김구 at 2013/07/21 23:22
말씀하신대로 하니 잘 작동하는데 새로운 스크립을 추가했을때 기본 c#으로 생성되서 새로운 스크립트를 추가할때마다 unity3d c#으로 바꿔줘야 하는 번거로움이 있는데..
기본값을 unity3d c#으로 설정되게끔 할 수 없나요?
Commented by 감사합니다 at 2013/07/26 16:31
View -> syntax -> open all with current extension as ... 에서 Unity3d -> Unity3dC# 로 하심 기본값으로 설정되더라구요
Commented by 구름마 at 2013/10/25 15:14
찾던 자료인데, 정리를 잘 해 주셔서 감사합니다.
개발이 좀 더 편해지겠네요^^
Commented by 나나나 at 2013/12/05 10:34
좋은 내용 감사합니다~
Commented by 두바이 at 2016/03/01 01:16
두바이출장업소,두바이출장샵 dubai31.net 빠른예약 ka톡:du b ai 888 ♬

<img alt="dubai266.jpg" src="http://www.medwide.net/files/attach/images/67/555/073/009/3be26a7d96caf9892d9338ca29f4c16e.jpg">

대박이벤트!!!!국내 스피드 유일 출장전문업계~!!!
빨아주기 필수+(핸 플+1)+얼굴에 사정가능+횟수무관...
싼 가격으로 오랫동안 즐기는...
섹시녀와 만남 하루한명 남성전용 쎅파 소개팅
장소만 알려주시면 직접 찾아가는 서비스~
착한 가격에 지방까지 고고..일일대기 !~


자세한 문의는 ka톡"d.u,b.a,i.888


[19금] http://www.dubai31.net


상담환영 친절히 답해드려요!
답변이 늦을 수있는점 양해 부탁드립니다


모두의<두,바,이,출,장,샵> 입니다
두바이의 현재 주소는 d u b a i 3 1. n e t 입니다
두바이의 다음 주소는 d u b a i 3 2 . n e t 입니다
그러타면 그 다음주소는??
d u b a i 3 3 . n e t 입니다 ^^

이는, 추후에 저희 사이트가 블라인드 되었을 경우
뒤에 숫자만 계속 변경하시면 됩니다 위의 사이트로 오시면
정상적으로 사이트를 이용하실 수 있습니다
틱ka톡:d.u,b.a,i.888 ♬
트위터로 오시면 수시로 바뀔 수 있는 저희 사이트의 실시간정보를
보실 수 있습니다.
Commented by 두바이 at 2016/03/02 18:57
두바이출장업소,두바이출장샵 dubai31.net 빠른예약 ka톡:du b ai 888 ♬

<img alt="dubai31.jpg" src="http://www.medwide.net/files/attach/images/2449760/546/199/009/4901706146f1aabb66461f0f8bc70bc8.jpg">


대박이벤트!!!!국내 스피드 유일 출장전문업계~!!!
빨아주기 필수+(핸 플+1)+얼굴에 사정가능+횟수무관...
싼 가격으로 오랫동안 즐기는...
섹시녀와 만남 하루한명 남성전용 쎅파 소개팅
장소만 알려주시면 직접 찾아가는 서비스~
착한 가격에 지방까지 고고..일일대기 !~


자세한 문의는 ka톡"d.u,b.a,i.888


[19금] http://www.dubai31.net


상담환영 친절히 답해드려요!
답변이 늦을 수있는점 양해 부탁드립니다


모두의<두,바,이,출,장,샵> 입니다
두바의 현재 주소는 d u b a i 3 1 . n e t 입니다
두바이의 다음 주소는 d u b a i 3 2 . n e t 입니다
그러타면 그 다음주소는??
d u b a i 3 3 . n e t 입니다 ^^

이는, 추후에 저희 사이트가 블라인드 되었을 경우
뒤에 숫자만 계속 변경하시면 됩니다 위의 사이트로 오시면
정상적으로 사이트를 이용하실 수 있습니다
틱ka톡:d.u,b.a,i.888 ♬
트위터로 오시면 수시로 바뀔 수 있는 저희 사이트의 실시간정보를
보실 수 있습니다.
Commented by 김혜수 at 2022/11/07 20:38
카 지 노의 선봉장~!!

ㅂ ㅏㅋ ㅏㄹ ㅏ~슬 롯~!!

코드 : 8920

주소 : 윈저.웹.한국

:         :

:

비공개 덧글

◀ 이전 페이지다음 페이지 ▶