서론
현재 게임 개발에 있어서 상용엔진으로 자주 쓰이고 유명한 것 중 두 가지를 뽑자면 Unity Technologies의 Unity 엔진과 Epic Games의 Unreal Engine으로 볼 수 있다. 필자의 경우 학부 과정 중에 Unity 엔진을 이용하여 게임 프로젝트를 진행했었고 최근 언리얼 엔진에 대해 공부하고 있는 찰나에 두 엔진에 대해 비교하는 글을 써보면 좋을 것 같아 이 포스팅을 시작하게 되었다.
1. 점유율

이미지 출처 :
https://www.linkedin.com/pulse/unity-unreal-developers-kobayashi-maru-glenn-lusk
위 링크에서 가져온 점유율 이미지를 보면 알 수 있듯이, 점유율 면에선 Unity 엔진이 압도적인 파이를 가지고 있다. 점유율이 이렇게 높은 이유는 그만큼 Unity 엔진은 입문하기에 쉽기 때문으로 보인다.
2. 각 엔진의 장점
먼저 Unity의 장점은 다음과 같이 볼 수 있다.
유니티는 직관적인 인터페이스와 드래그 앤 드롭 기능으로 제작을 빠르고 간편하게 진행할 수 있다. 학습이 간단하면서 초보자도 입문하기 편하다. 또 언리얼 엔진의 경우 라이트 베이킹에 소요되는 시간으로 생산성에 타격을 줄만큼 무거운 반면, 유니티 엔진은 상대적으로 가볍기 때문에 작은 스케일의 프로젝트를 만드는 데에 훨씬 수월하다.
유니티 테크놀리지 사의 방향성은 멀티 플랫폼 지원, 메타버스, XR (AR, VR)환경 등 최신 유행 기술에 집중하고 있다. 유니티의 큰 강점 중 하나인 광범위한 멀티 플랫폼 지원으로 데스크탑, 모바일 기기, 콘솔, VR 및 AR 기기 등 25개 이상의 플랫폼을 지원한다. 게임 제작자들에게 편한 접근성 뿐만 아니라 다양한 게임 유저들에게도 접근할 수 있다는 것이다.
유니티에는 게임에 이용할 캐릭터, 환경, 사운드, 애니메이션 등을 무료로 이용하거나 지불하여 사용할 수 있는 에셋 스토어가 존재한다.
그리고 언리얼 엔진의 경우는 다음과 같이 볼 수 있다.
언리얼 엔진은 게임 개발 업계에서 가장 우수한 그래픽 기능을 제공하며 시각적으로 뛰어난 디테일에 초점을 맞춘다.
엔진 자체는 어느 정도 무겁다고 볼 수 있지만, 그 만큼 소규모 프로젝트를 초점으로 하지 않고 대규모의 복잡한 프로젝트에 대한 처리와 확장이 우수하다고 볼 수 있다.
UE5가 출시되면서 고유한 블루프린트 시스템이 추가되었다. 기존처럼 코드를 작성하는 방식과 달리 게임 로직과 액션을 만들 수 있는, 시각적으로도 보기 좋은 비주얼 스크립팅 시스템으로 비전문가도 이해하고 사용하기 쉽다는 장점이 있다.
그 이외에 비교해 보자면 스크립팅 언어에 차이를 볼 수도 있다.
유니티는 스크립팅 언어로 C#을 채택하였고, 언리얼 엔진은 C++를 스크립팅 언어로 사용한다.
(물론 언리얼 엔진의 비주얼 스크립팅인 블루프린팅이나 별도의 플러그인을 통한 스크립트 언어 사용을 제외하고 기본적인 상황을 말하는 것)
C++은 상대적으로 기계어에 가까운 low level 언어이고, C#은 high level 언어에 속하기 때문에, 생산성과 세부적인 컨트롤 양자 사이의 trade-off 관계를 생각해야 한다.