유니티를 사용해 협업을 진행하는 경우 버전 관리 시스템은 필수이다. 사실 1인 개발을 한다고 할지라도 필요한 경우가 많다. 우선 버전 관리 시스템이 무엇이고 왜 필요한지 먼저 살펴보자.
버전 관리 시스템이란?
말 그대로 프로젝트의 버전을 관리해주는 시스템이다. 이 프로그램이 필수로 사용되는 이유는 프로젝트의 진행상황(버전)을 기록하기 때문이다. 따라서 여러 사람이 함께 제작할 경우 발생하는 많은 문제 사항을 해결하도록 도와준다.
어떤 시점에서 버그가 발생했다면 해당 시점 이전으로 돌아가거나 해당 시점의 문제점만 수정할 수 있게 해 준다. 혹은 브랜치를 개설하여 안전하게 프로젝트를 이어나갈 수 있다. 또한 진행상황을 쉽게 파악할 수 있고 클라우드 서버에 저장되기 때문에 시간과 공간의 제약을 받지 않는다.
개인적으로 버전 관리 시스템이 필요하다고 느끼는 가장 큰 이유는 팀원이 다른 팀원의 파일을 덮어쓰는 대참사를 막을 수 있기 때문이다!
이러한 버전 관리 시스템은 가장 대표적인 Git이 있지만 그 외에도 Perforce, Subversion 그리고 Unity에서 공식 지원하는 Collaborate와 Plastic SCM이 있다.
필자는 Git과 Unity Collaborate, Plastic SCM을 사용해보았고, 이에 대한 리뷰를 작성하고자 한다.
우선적으로 알아두어야 할 점은 Plastic SCM은 Collaborate의 상위 호환 버전이라는 것이다. 그리고 Collaborate는 2023년부터 서비스가 종료될 예정이다.
따라서 유니티에서 가장 대표적으로 사용되는 Git과 Plastic SCM 두 개를 놓고 비교하도록 하겠다.
Git
전 세계적으로 가장 대표적인 버전 관리 시스템이라서 프로그래머라면 한 번쯤은 들어봤을 Git.
오픈소스라서 중소규모 개발에서는 비용의 부담이 없고 대부분의 모든 플랫폼과 호환이 잘 된다는 장점이 있다. 또한 약점이었던 GUI도 Git Desktop을 통해 개선되며 진입장벽이 매우 낮아졌다. Unity 프로젝트 역시 ignore만 잘 설정해둔다면 프로젝트를 진행함에 전혀 문제가 없다.
다만 여전히 프로그래머를 위한 버전 관리 시스템이라는 점에서 유니티처럼 그래픽 디자이너가 함께 프로젝트를 진행할 경우 비 프로그래머에게 쉽지 않다는 단점이 있다. 또한 대용량 파일(100MB를 넘길 경우 LFS로 변환)의 전송이 까다로우며 에디터에서의 진행상황 등을 직관적으로 알 수 없다.
Plastic SCM
유니티에서 서비스하는 버전 관리 시스템. 유니티에 맞춤형으로 많은 장점들을 갖고 있다.
게임 엔진의 특성상 높은 용량의 파일을 갖고 있는 경우가 많은데, Plastic SCM은 이러한 고용량 파일들을 쉽고 빠르게 처리하도록 해준다(실제로 타 시스템에 비해 푸시와 풀 속도가 빠르다). 또한 진행상황을 시각적으로 나타내어준다. 예를 들어 이미지 파일이 변경된 경우 해당 파일의 변경사항을 시각적으로 확인할 수 있다. 이는 분명 Git과는 차별되는 엄청난 강점이다(번거롭게 하나하나 확인할 필요가 없다).
또한 에디터 내에서 변경사항을 확인할 수 있다. 실시간으로 변경사항이 반영되기 때문에 수동으로 검사해야 하는 수고로움을 덜어준다.
Plastic SCM은 상위 호환답게 기존에 사용되었던 Collaborate와도 차이가 있다. Collaborate는 Git과 마찬가지로 프로젝트별로 변경사항을 저장한다. 어떤 시점에 Push를 하고 그 상황으로 돌아가고 싶다면 프로젝트 전체를 돌려하는 것이다. 하지만 Plastic SCM은 개별 파일로 수정본을 되돌릴 수 있다! 이것은 엄청난 강점이다. 문제가 되는 파일만 수정하고 나머지는 수정하지 않고 그대로 두면 되기 때문이다. 사실 Git에서도 이러한 기능을 사용할 수 있다. 하지만 Git Desktop에서 할 수 없기 때문에 어느 정도의 Git에 대한 숙련도가 있어야만 사용할 수 있다. 추가적인 장점으로는 Plastic SCM은 Collaborate와는 다르게 변경사항을 업데이트하는 동안 에디터에서 작업을 계속할 수도 있다.
이러한 장점에도 불구하고 가장 큰 단점은 바로 비용이다. 이 글이 작성되고 있는 2022년 11월을 기준으로 Plastic SCM은 프로젝트 인원 3명과 프로젝트 용량 5GB까지만 무료이다. 그 외에는 인원이 추가되거나 용량이 커질 때마다 추가 비용이 부담된다.
결론
만약 비용이 부담스럽거나 Git의 사용이 익숙하다면 Git을 권한다.
반면 소규모 프로젝트 이거나 대규모 프로젝트지만 비용에 대한 염려가 없고 게임이 무겁다면 Plastic SCM이 더 메리트가 있을 것이라 생각한다.
'유니티 > 워크플로' 카테고리의 다른 글
[Unity] 개발 속도를 대폭 늘리는 단축키 (Shortcuts) (1) | 2023.07.02 |
---|---|
[Unity] 공간 변환 (World <-> Local) (0) | 2023.06.26 |
[Unity] 지형 복사 (Duplicate terrain data) (0) | 2022.11.10 |
[Unity] 트랜스폼 (2) - 회전 (0) | 2022.05.27 |
[Unity] 모노비헤이비어 (MonoBehaviour) (0) | 2022.05.17 |