최근 사용기 게시판에 실리콘 맥 사용기와 제가 주로 사용하는 유니티개발환경 구축에 대한
간략한 이야기들을 소개한 적이 있습니다.
유니티 개발자의 맥미니 M1 CTO 모델 사용기
https://www.clien.net/service/board/use/15698369CLIEN
맥북에어 M1 사용기 (8기가 16기가 램 비교기 )
https://www.clien.net/service/board/use/15741589CLIEN
그러니 자연스럽게 몇몇 분들이 클량 쪽지로 + 개인 블로그를 통해서 VS Code 연동하시는 것에
애를 먹고 있다고 하셔서 팁으로 정리해서 올려봅니다.
1. 유니티의 실리콘 맥 지원
먼저, 유니티는 아직 실리콘 맥 지원을 하고 있지 않습니다.
유니티 홈페이지에 알파 버젼 릴리즈 노트를 보면 다음과 같이 나와있습니다.
https://unity3d.com/beta/2021.1a
잘못된 형식의 이미지 링크입니다.
마치 애플 실리콘 맥을 지원하는 것 같이 써있길래, 한번 다운 받아서 설치해봤는데, 아키텍쳐가 intel 로 나오더군요, 아직은 실리콘 맥을 지원하지 않는 것 같습니다. 그 마저나도 베타버젼이니 ( 해당버젼이 베타버젼으로 올라와있습니다. ) 아마 안정화 및 일반 버젼들까지 적용이 될라면 시간이 꽤나 걸릴 것 같습니다.
그리고 개인적으로 사용하는 프로젝트들은 2020 을 사용할 경우 결과물이 너무 무거워서 2019 lts 버젼을 사용중인데, 과연 lts 버젼에도 실리콘 맥을 지원 해줄지는 좀 두고봐야할 것 같습니다. 해외 커뮤니티를 다 뒤져봤는데 확실한 내용은 없더군요. 아마도 최신 버젼에서만 실리콘 맥을 지원 해주지 않을까.. 혹은 먼저 해주지 않을까 싶습니다. 참조하시면 좋을 것 같습니다.
로제타2로 구동되는 인텔용 유니티 맥 버젼도 꽤나 안정적으로 구동은 가능하나, 3주간 사용하면서 크래쉬는 수차례 겪었습니다. 속도는 기존의 인텔맥 환경에 비해서 준수하나 체감상 안정성은 좀 떨어지는 느낌인 것 같습니다. 참조하세요.
2. VS Code 실리콘 맥 지원
VS Code 의 경우는 원래 Arm 용 에디터가 있어서 인지 꽤나 발빠르게 지원을 해주고 있습니다.
흔히 베타버젼과 같은 프리뷰 버젼? 인 Insider 를 통해서 실리콘 맥용 에디터를 제공하고 있습니다.
https://code.visualstudio.com/insiders/
잘못된 형식의 이미지 링크입니다.
위 링크에서 작게 ARM64 를 클릭하면 인사이더 버젼을 통해 실리콘 맥용 VS Code 를 설치해서 사용할 수 있습니다.
사실 이 버젼은 맥미니를 구매하자마자 한번써봤었는데, 그땐 아예 실행이 안되더니 향후에 갑자기 생각나서 재 설치후 다시 해보니 잘 실행이 되더군요, 저처럼 실행이 안되는 문제를 겪으시는 분들은 맥을 재부팅후에 실행을 해보시길 바랍니다. 실리콘 맥으로 넘어온 뒤에 아키텍쳐 문제인지, OS 빅서 문제인지 한번 크래쉬가 나는 앱들은 재부팅 전에는 죽어도 재실행이 안되는 문제들이 발생하고 있습니다.
이럴땐 마치 윈도우처럼 재부팅이 답입니다.
어쨌든 실행이 잘되면 아래 사진처럼 아키텍쳐가 Apple 로 실행되는것을 볼 수 있습니다.
잘못된 형식의 이미지 링크입니다.
VS Code 의 경우 스테이블 버젼도 로제타2로 구동이 잘되서 사용하는데 딱히 문제가 없었으나
사용중에 C# Extension 이 자주 문제가 발생하더군요. 이게 .net Core 문제인지 Omnisharp 문제인지 mono 문제인지 VS Code 자체 문제인지 정확하게는 모르겠습니다. 제가 관련 지식이 깊지 않아서 정확한 원인을 파악하긴 어려웠습니다.
여하튼 쾌적한 개발을 위해서 자연스럽게 Insider 버젼을 사용중입니다.
잘못된 형식의 이미지 링크입니다.
그전에는 스테이블 버젼 + C# Extension 구버젼 ( 1.22.1 버젼 )으로 개발을 하다가 수차례 문제가 생기곤
인사이더 버젼 + C# Extension 최신 버젼을 사용해서 개발을 하고 있습니다.
이경우에는 몇가지 추가 작업을 해주셔야 하는데,
사용하시는 Mono 버젼부터 확인을 하셔야 합니다..
https://www.mono-project.com/download/stable/
위 사이트에서 Mono 를 설치해주실수 있는데, 오늘 날짜로 스테이블 버젼은 6.12 버젼입니다.
잘못된 형식의 이미지 링크입니다.
저의 경우는 여기서 좀 문제가 있었는데, 유니티를 설치하면 자동으로 Visual Studio 를 함께 설치할 수 있는데 이 과정에서 Mono 가 설치 되는 것으로 알고 있습니다. 그래서 모노가 설치 되어있는데, VS Code 사용시에 계속 문제가 생기더라고요.
그래서 검색을 해보니, 수동으로 추가 설치를 해야 Path 설정이 제대로 된다는 글을 읽고 위 사이트를 통해서 수동으로 Mono 를 다운 받아서 설치를 해주었습니다 .
그 이후에 설치된 모습입니다.
잘못된 형식의 이미지 링크입니다.
이렇게 Mono 를 설치해주는 이유는 C# Extension 최신 버젼이 .net 5 SDK 를 사용하기 때문인 것 같은데요, 사실 이부분은 제가 깊은 지식이 없어서 잘 모르는 내용이긴 합니다. 각종 커뮤니티에서 해당 버젼 호환에 대해서 어려움을 겪는 해외 유저들의 글을 읽다보니 그런 문제로 유추하고 있습니다.
잘못된 형식의 이미지 링크입니다.
c# extension 최신버젼의 설명을 보면 .net 5 SDK 이상 버젼에선 UseGlobalMono 설정을 변경해주라고 되어 있는데,
콘솔에서 확인을 해보면 저의 경우는 .net 이 5.0.101 버젼이 설치 되어 있어서, 아랫쪽 팁을 따라야 합니다.
잘못된 형식의 이미지 링크입니다.
그런데 해당 문장을 보면
" this means you will need to set omnisharp.useGlobalMono to never " 라고 되어 있는데,
타 커뮤니티에서 얻은 정보 + 제가 추가로 실험해서 얻은 결론으론 Never 가 아니고 Always 로 설정해야 제대로 구동이 됩니다.
위에 닷넷 3.x버젼때도 동일하게 문장이 써있는 것으로 봐서는 복붙하다가 오류가 난게 아닌가 싶습니다..
( 아닐수도 ..)
어쨌든 Use Global Mono 라는 설정값을 변경해줘야 .net 5 SDK 이상에서 제대로 구동이 된다는 내용입니다.
아래 그림과 같이 VS Code Insider 에 Setting -> Use Global Mono (검색) -> Always 로 설정해줍니다.
잘못된 형식의 이미지 링크입니다.
그럼 설정값을 다시 로드하고 Code 가 재시작하는데, 그래도 유니티에서 C# 파일이 제대로 컴파일 되진 않습니다.
( 빌어먹을 유니티 )
안정적으로 사용하기 위해서는 VS Code 를 완전히 종료하고 유니티 에디터로 들어가서 Asset -> Open C# Project 를 통해서 프로젝트 폴더의 sln 파일을 제대로 로드를 시켜줘야 합니다.
잘못된 형식의 이미지 링크입니다.
경우에따라서는 지속적으로 에러가나면 sln 파일을 삭제하고 다시 프로젝트를 열어서 재 생성을 해보라는 글도 있더군요.
그러면 아래와 같이 변수들에 References 라고 뜨면서 인텔리센스를 사용할 수 있는 상태로 변경됩니다. 프로젝트의 크기에 따라서 차이가 있겠지만, 저의 경우는 30초~1분 정도의 시간이 걸렸습니다. 그 이후에는 별 무리없이 사용이 가능합니다.
잘못된 형식의 이미지 링크입니다.
가장 중요한것은 기존에 Code 가 켜져있는 경우 꼭 완전히 종료를 하신뒤에 유니티에서 Open C# 을 클릭해서 프로젝트를 열어주셔야 합니다. 그래야 제대로 됩니다.
일련의 과정들을 영상으로 찍어둔 영상입니다. 흐름이 어떻게 진행되는지 참조하시면 좋을 것 같습니다.
이상으로 저와같은 유니티 개발자 분들에게 도움이 되실만한 팁을 정리해봤습니다.
요청을 받고 생각보다 정리하는데 시간이 좀 걸렸는데, 처음 맥미니 세팅할때 되던게 지금은 안되고 반대로 안되던게 지금은 되기도해서
다시 하나씩 다해보느라 애를 먹었기 때문입니다 ㅠㅠ
개발환경을 구축하다가 빡쳐서 요즘 심심하면 오류가나는 Code 버리고 VS나 라이더를 써볼까 해서 둘다 세팅해서 써봤는데, VS는 불편해서 못쓰겠고 라이더는 아직 실리콘 맥 지원 계획이 없더라고요. 최근에 세소개에 올라온 Jetbrain의 실리콘 맥 지원 소식에도 라이더는 없었습니다 ㅠㅠ 그래서 그런지 설치해서 써봐도 예전처럼 엄청 빠르다! 그런 기분은 딱히 안들었습니다.
그래서 뻘짓 끝에 Vs Code 로 다시 개발환경을 구축해놓고 나니, 역시 익숙한 IDE라서 그런지 아주 맘에 들더라고요. 아직까지는 위 세팅으로 작업하면서 큰 문제는 겪지 않았지만, 뭔가 좀 문제 생기면 습관적으로 Code 강종하고, 다시 Open C# Project 하고 그래도 문제 생기면 재부팅하고 이렇게 작업을 하고 있는 것 같습니다.
향후 정식으로 유니티나 VS Code 가 지원될지 모르겠지만, 된다면 어서 되어서 쾌적한 개발환경이 구축 되면 좋겠습니다.
저번에도 VS Code 팁을 올렸을때, 제가 잘못 알고 있는 내용이나 더 좋은 팁들을 리플로 달아주셨었는데, 이번에도 알려주시면 감사하겠습니다. 클리앙에서 글을 올리면서 많이 배우고 있네요.
감사합니다.
이게 VS code는 자동으로 프로젝트를 찾아 주지만 인사이더 버젼은 그러질 못하는거 같습니다.
유니티에서 Preferences => External Tools 에서 External Script Editor Args 에 아래와 같이 넣어 주세요.
$"-n \"{GetDefaultApp}\" --args {arguments}"
그럼 유니티에서 CS파일을 더블 클릭해 열때 자동으로 프로젝트 폴더 채로 열립니다.
몇가지 궁금한게 있습니다.
1. 유니티 개발 공부 + 포폴용 m1 맥북 에어를 사려고 하는데 쓸만한가요??
2. 3D 포폴이나 개발도 생각하고 있긴 한데 원할하게 될지도 궁금합니다
3. 발열 관련해서는 노트북 쿨링 패드 사용해서 쿨링 해주는걸 생각하고 있는데 커버가 가능할지도 궁금합니다
1. 전 쓸만하다고 봅니다.
2. 간단한 블랜더나 퓨전360 정도 사용은 충분히 가능합니다. 폴리곤이 많은 데이터는 안 다뤄봐서 모르겠네요.
3. 발열이 센서쪽을 보시면 다양한 부분에서 측정되는 국소 부위 부분의 온도라서 외부 쿨링으로는 크게 변화할지는 모르겠습니다. 드라마틱한 변화는 안나지 않을까. .싶은데 해보진 않아서 뭐라고 답변 드리기 어려운것 같습니다. 혹시 관련 실험을 해보신 분이 있는지 확인해보시면 어떨까요?
친절한 답변 감사합니다!!
발열 부분은 좀 더 찾아봐야겠네요
사실 유니티 머신으로 m1 맥북 에어가 괜찮을까... 진짜 고민이 많았는데 그 부분은 덜 해도 될 것 같네요 ㅎㅎ
다시 한번 답변 감사합니다~