언리얼 엔진/세부 버전
1. 개요
언리얼 엔진의 세부 버전에 대한 문서다.
2. 세대별 구분
세대별 구분은 "#세대 언리얼 엔진" 또는 "언리얼 엔진 #"라고 부른다. 현재는 "언리얼 엔진 #"로 통용되고 있다.
[image]
언리얼 토너먼트 시리즈의 고정적인 등장캐릭터인 말콤으로 알아본 1~3의 변화.[1]
많은 사람들이 이름을 혼동하는데, '언리얼 # 엔진'이 아니라 '언리얼 엔진 #'가 제대로 된 명칭이다. 만일 '언리얼 4 엔진'이라 하면 발표도 되지 않은 언리얼 4라는 게임의 엔진이라는 의미가 될 수 있다. 특정한 게임에 특화된 엔진과 순수한 엔진은 다르다. 개발사인 에픽게임즈에서도 엔진의 공식적인 명칭을 "언리얼 # 엔진", "언리얼 #"가 아닌 "언리얼 엔진 #"로 표기하도록 명시하고 있으나 그럼에도 불구하고 계속 잘못 표기하는 곳이 여전히 있다(...)
3. 세부 버전의 구분
언리얼 엔진 3까지는 빌드 버전으로 구분했으며 언리얼 엔진 4.0 정식 버전 출시 후로는 3자리수 표기방법(세대.버전.패치)으로 구분하고 있다.
3.1. 빌드 버전
빌드 버전은 소스코드가 수정되어 엔진 전체를 다시 빌드[2] 한 횟수를 의미하며 빌드를 한번 할 때마다 빌드 버전이 1씩 올라갔다.
언리얼 엔진 1 ~ 2는 빌드 3369까지, 언리얼 엔진 3는 12791까지 나왔으니 언리얼 엔진 1 정식 버전부터 2 최종 버전까지 빌드를 총 3369번[3] , 언리얼 엔진 3 초기 버전부터 최종 버전까지 빌드를 총 12791번 했다는 뜻이다.[4] 빌드 버전은 언리얼 에디터나 로그 파일 등에서 확인 가능하다.
언리얼 엔진 4도 처음 공개시엔 빌드 버전으로 표기했으나 2014년 3월에 발표된 언리얼 엔진 4.0 정식 버전 출시 후 '''모두의 언리얼 엔진'''이라는 슬로건 하에 소스코드까지 전체 공개로 방향이 전환되면서 빌드 버전은 사라지고 대중 친화적이면 직관적인 3자리수 표기방법으로 변경되었다.
3.2. 3자리수 버전 표기
언리얼 엔진 4.0부터 표기되는 버전 표기 방식이다.
2021년 2월 기준으로 4.26.1 버전까지 나와있으며 버전 자리수의 의미는 다음과 같다.
- 첫번째 자리 4.26.1 : 언리얼 엔진 "4"를 의미하며 언리얼 엔진 5로 넘어가기 전까지 변하지 않는다.
- 두번째 자리 4.26.1 : 메이저 업데이트를 의미하며 이 버전이 올라가면 신기술, 기능, 툴의 개선 등 굵직한 부분들의 개선이 있다. 대규모 기능 개선으로 볼 수 있고 새로운 플랫폼 지원 추가, 기존 기술의 현저한 개선 및 변화 등도 이에 포함된다. 언리얼 엔진 4 출시 초기에는 약 두달에 1씩 올라갔으나 엔진이 안정화 된 후에는 텀이 점점 길어지면서 버전 1 차이에도 개선되거나 추가되는 기능이 매우 많다.
- 세번째 자리 4.26.1 : 이 부분은 메이저 업데이트 버전(두번째 자리)의 패치 버전으로 사소한 픽스나 버그 해결 등에 해당된다. 중간자리 숫자가 다음 버전으로 올라가면 이 세번째 자리는 0으로 초기화된다. 그 이유는 중간버전이 올라가면 당연히 기존의 수정사항을 다 포함하기 때문이기도 하고 세번째 자리가 끝도 없이 올라가는 것도 문제가 되고 어차피 중간버전이 올라간다면 세번째 자리는 0이 되는게 당연한 이치이기도 하기 때문이다. 어떤 중간자리 버전의 패치 버전은 1까지만 올라가거나 어떤 중간버전 패치 비전은 6까지도 올라가는 등 버전별로 천차만별이다. [5]
4. 언리얼 엔진 1 ~ 2
'''언리얼 엔진 1'''은 크게 '''언리얼''' 버전과 '''언리얼 토너먼트''' 버전으로 구분된다. 언리얼 엔진 1이라는 명칭은 언리얼 엔진 3의 발표를 얼마 앞둔 시점에서 붙여진 이름이다. 원래는 단순히 '''언리얼 엔진''', 언리얼 토너먼트 등장 이후에는 '''언리얼 1 버전''', '''언리얼 토너먼트 버전'''으로 불리기도 했고 언리얼 엔진 3 정식 발표 직전에는 '''언리얼'''과 '''언리얼 토너먼트''', 두 버전을 묶어서 1세대 언리얼 엔진(First Generation Unreal Engine)이라고도 불렸다. 언리얼 엔진 3 정식 발표 이후 언리얼 엔진 1이라는 명칭으로 호칭되고 있다.
4.1. 언리얼 엔진 (빌드 1 ~ 226)
1998년 5월에 출시된 FPS 게임 '''언리얼'''의 소스코드다.
언리얼의 정식 출시전부터 많은 알파, 베타 버전들이 공개됐었다.
알파 버전 v1은 최초로 외부에 공개된 버전으로서 세계 최초의 WYSIWYG 기반 실시간 3D 렌더링 맵 에디터와 소프트웨어적으로 텍스처 필터링[6] 을 구현했다.
알파 버전 v2는 소스코드가 모듈형 구조로 개편된 덕분에 향후 엔진의 개발에 여러가지 기능의 추가를 더욱 용이하게 만들었으며 이로 개발 과정에 박차를 가할 수 있게 되었다.
알파 버전의 세부 버전의 표기는 다음 표와 같다.
베타 버전에서는 많은 부분의 개발이 진행되며 구도를 갖추어 갔다.
베타 버전의 세부 버전의 표기는 다음 표와 같다.
언리얼 엔진 빌드 버전 넘버를 구분하면서 정식 버전으로 분류된다. 이때 실질적인 언리얼 엔진의 전체적인 소스코드 구조 등 프레임워크가 완성되었는데 이 구조는 팀 스위니의 많은 고뇌와 기술적 노력이 담긴 결정체이다. 일반적으로 대형 게임의 개발 기간도 1년 내외였던 1990년대 중반 당시에 3년이 넘어가는 개발기간은 엄청나게 긴 기간이었고 PC 하드웨어 및 소프트웨어 기술의 발전속도는 6개월만 지나도 큰 차이가 벌어지던 시기였다. 이런 상황에서 3년이 넘게 개발된 언리얼은 빠르게 발전하는 기술을 따라잡고 신기술들을 지원하기 위해 계속 코드가 수정되어야 했는데 신기술을 포기하면 구식이 되어버리고 신기술을 지원하기 위해 어떤 부분을 수정하고 개량하면 다른 부분에서 문제가 생기고 호환이 되지 않거나 제대로 작동하지 않는 문제가 발생하는 등 개발과정은 난항의 연속이었다.
결국 팀 스위니는 개발 중인 언리얼 엔진이 끊임없이 발전하는 기술의 발전속도를 따라가며 각종 소프트웨어 및 하드웨어 신기술들을 모두 지원하기 위해서는 수정과 개량이 용이한 유연한 구조가 가장 중요하다는 판단으로 언리얼 엔진의 유연한 구조를 완성해낸다.
그 결과 처음 출시된 버전에서 소프트웨어 렌더링과 3DFX Voodoo Glide 하드웨어 렌더링만 지원하던 언리얼은 출시 직후 패치를 통해 PowerVR SGL, S3 Metal, OpenGL, Direct3D 등 당시 나오는 모든 3D 가속 카드 하드웨어와 3D 그래픽 렌더링 API, 오디오에 대한 3D 하드웨어와 소프트웨어 지원도 핵심 그래픽, 오디오 렌더러 코드를 전혀 건드리지 않고서도 단순한 렌더링 드라이버 추가 패치만으로 완벽하게 지원이 가능했으며 네트워크 엔진 코드가 완전히 변경되는 수준도 단순한 DLL 패치만으로 가능했다. 조이스틱 같은 하드웨어 지원 또한 DLL 패치만으로 가능했음은 물론이다.
이런 유연한 구조 덕분에 언리얼 엔진 2(워페어 버전 ~ 언리얼 토너먼트 2004 버전)로 개량되었음에도 전체 구조는 언리얼 엔진 1의 구조가 그대로 유지되어 툴과 애셋류가 호환되었으며 기본적으로 FPS 개발을 위해 만들어진 엔진임에도 불구하고 단순히 FPS에만 사용한 것이 아닌 MMORPG에 이르기까지 다양한 장르에 적용될 수 있는 기반이 되었다.
정식 버전의 세부 버전의 표기는 다음 표와 같다.
4.2. 언리얼 토너먼트 엔진 (빌드 222 ~ 436)
1999년 12월에 출시된 언리얼 토너먼트의 소스코드다.
언리얼 토너먼트는 언리얼 패치 220 이후 무료 멀티플레이 보너스팩인 '''BotPack220'''이 공개가 됐으며 이 보너스팩의 볼륨을 크게 확장하며 언리얼 토너먼트라는 별개의 게임을 개발하게 됐다.
언리얼 토너먼트는 언리얼 엔진 빌드 222 버전에서 소스코드가 언리얼과 별도로 분리[17] 되어 개발되었고 빠른 움직임을 위한 렌더링 속도나 네트워크 등 여러가지 개선이 됐으며 특히 중간에 패치로 새로운 언리얼 에디터 2.0과 스켈레탈 애니메이션 지원이 된 것도 매우 큰 개선사항이다.
언리얼 토너먼트 최종 패치인 436 버전 이후 버전 633부터는 공식적으로 언리얼 워페어 버전(언리얼 엔진 2)으로 구분되었는데 436 버전과 633 버전 사이의 중간 버전들이 언리얼 엔진을 라이선스 한 외부 개발사에게 제공되면서 구분하기 애매한 경우도 있었다. 그 중간 버전은 언리얼 워페어 엔진의 주요 특징들(특히 스태틱 메쉬 처리 기법) 몇 가지를 담고 있으나 개발사인 에픽 게임즈에서는 해당 버전들을 언리얼 워페어 빌드가 아닌 언리얼 토너먼트 빌드로 분류했다.
그 중간 버전이 사용된 게임들은 2002년 출시된 '''Mobile Forces'''나, 2003년 출시된 '''New Legends''' 등이 있다. 듀크 뉴켐 포에버도 언리얼 1 버전부터 시작해서 언리얼 토너먼트 버전을 거쳐 공식 언리얼 워페어 버전 이전의 중간 버전까지 업데이트 된 후 자체 개조 되었기 때문에 게임 포럼에서 언리얼 엔진 2 개량버전으로 구분되기도 하고 언리얼 엔진 1 개량버전으로 구분되기도 한다. 그러나 듀크 뉴켐 포에버 개발사 및 에픽 게임즈에서는 듀크 뉴켐 포에버에 언리얼 워페어 버전이 사용되지 않았으며 언리얼 토너먼트 엔진까지만 사용됐다는게 공식 입장이다.
4.2.1. 언리얼 토너먼트 PlayStation 2 이식 버전
언리얼 토너먼트 PS2 버전의 소스코드다. 언리얼 토너먼트 엔진은 기본적으로 PC(윈도우, 리눅스, 맥)용으로 개발됐기 때문에 PS2에서 작동하도록 이식한 버전이며 PC버전과는 완전히 별개로 분리되어 있다. 빌드 420을 기준으로 이식했으나 420 버전 이후에 추가된 스켈레탈 애니메이션도 추가되었다.
4.2.2. 언리얼 토너먼트 Dreamcast 이식 버전
언리얼 토너먼트 DC 버전의 소스코드다. 언리얼 토너먼트 엔진은 기본적으로 PC(윈도우, 리눅스, 맥)용으로 개발됐기 때문에 PS2에서 작동하도록 이식한 버전이며 PC버전과는 완전히 별개로 분리되어 있다. 빌드 420을 기준으로 이식했으나 420 버전 이후에 추가된 스켈레탈 애니메이션도 추가되었다.
PS2 버전은 에픽 게임즈에서 직접 이식했으나 DC 버전은 Secret Level이라는 외부 개발사에서 외주 개발로 이식되었다.
4.3. 언리얼 워페어 엔진 (빌드 633 ~ 927)
2001년 1월에 '''언리얼 워페어''' 엔진을 라이선스 가능한 버전으로 공식 출시했다. 언리얼 토너먼트 발매 후 언리얼 시리즈의 신작으로 개발되던 언리얼 워페어라는 제목의 분대 기반 FPS 게임의 소스코드다.
언리얼 토너먼트 엔진 빌드 420 버전에서 언리얼 토너먼트와 분리[24] 되어 별도로 개발됐으며 빌드 500 버전대도 언리얼 엔진을 라이선스한 개발사들에게 제공[25] 됐으나 언리얼 워페어라는 이름을 사용하지 않았고 언리얼 토너먼트 엔진의 연속으로 취급했다. 2001년 1월 공식 출시한 빌드 633 버전부터 언리얼 워페어 엔진이라는 이름을 사용[26] 하면서 기존 언리얼 엔진, 언리얼 토너먼트 엔진과 별도의 라이선스가 체결되었다.
언리얼 토너먼트 엔진보다 수 많은 부분이 비약적으로 향상되었다. 스태틱 메시를 통해 MAX, MAYA 등으로 만든 폴리곤 모델을 구조물 오브젝트로 맵에 가득 배치하여 기존 대비 더욱 세밀한 그래픽 표현과 하이트맵 기반 지형 시스템으로 광활한 대지의 구현과 유체표면으로 현실적으로 출렁거리는 바다, 강, 호수 등의 물결 표현, 강화된 채널 기반의 스켈레탈 애니메이션, 스키닝 애니메이션, 페이셜 애니메이션과 실시간 음성 파일 립싱크로 캐릭터의 실감나는 움직임과 얼굴 표정 및 사실적인 입모양, Karma 물리 엔진을 병합하여 구현된 Ragdoll 애니메이션과 물리 효과가 적용된 오브젝트, 발전된 래디오시티 기반 라이트맵, 새로운 머티리얼 시스템으로 다양한 재질의 구현, 프로젝터로 구현되는 라이팅과 그림자 및 다양한 특수효과, 그리고 언리얼 에디터에 추가된 컷신 제작 툴 "마티네" 등 기존에 비해 크게 향상되었기 때문에 언리얼 워페어 엔진부터는 "언리얼 엔진 2"로 구분된다.
언리얼 워페어 엔진이 처음 출시된 시점엔 언리얼 엔진 2라는 명칭이 사용되지 않았고 "언리얼 워페어 엔진", "언리얼 엔진 워페어 버전", "언리얼 엔진 워페어 빌드"라는 명칭이 사용됐다. 또는 한동안 "차세대 언리얼 엔진"이라는 명칭이 사용되기도 했고 드물게는 "3세대 언리얼 엔진", "언리얼 엔진 3"라는 명칭도 사용됐는데 '''언리얼 엔진'''이 1세대(언리얼 엔진 1), '''언리얼 토너먼트 엔진'''이 2세대(언리얼 엔진 2), '''언리얼 워페어 엔진'''이 3세대(언리얼 엔진 3)라는 이유였다.[27][28]
2003년 6월에 엔진 버전 명칭을 '''언리얼 엔진'''과 '''언리얼 토너먼트 엔진'''을 1세대 언리얼 엔진(언리얼 엔진 1), '''언리얼 워페어 엔진''', '''언리얼 토너먼트 2003 엔진'''을 2세대 언리얼 엔진(언리얼 엔진 2), 그리고 당시에는 아직 공개되지 않았던 2002년부터 새롭게 개발중인 차세대 엔진을 3세대 언리얼 엔진(언리얼 엔진 3)으로 재정립했다.
언리얼 워페어 빌드는 CodeDrop이라는 ZIP 파일로 UDN(언리얼 개발자 네트워크)를 통해 라이선스 개발자들에게 배포했다.
언리얼 엔진 2 공식 버전[29] 의 구분은 다음표와 같다.
4.3.1. 언리얼 워페어 PlayStation 2 이식 버전
언리얼 워페어 PS2 버전의 소스코드다. 언리얼 워페어 엔진은 기본적으로 PC(윈도우, 리눅스)[31] 용 엔진이며 전반적으로 PC 윈도우와 구조가 비슷한 오리지널 Xbox는 크로스플랫폼으로 지원이 가능했지만 PS2는 PC와 구조가 달라서 엔진 자체를 완전히 PS2에 맞추는 이식 작업을 거친 버전이며 PC버전과는 완전히 별개로 분리되어 있다.
최초 출시 버전인 빌드 633은 에픽 게임즈에서 직접 이식했으나 이후 버전은 그 당시 에픽 게임즈의 규모로 콘솔 버전 이식까지 작업하기엔 무리라고 판단해서 언리얼 토너먼트의 DC 버전을 이식했던 외부 개발사 Secret Level에 전담 외주 개발로 이식되었다.
이식 버전이므로 업데이트한 모든 버전이 이식된 것은 아니며 주요 업데이트가 적용된 버전들만 이식되었다. 언리얼 워페어라는 게임 자체가 PS2로 이식된 게 아니고 엔진만 PS2에서 돌아가도록 이식됐으며 UDN(언리얼 개발자 네트워크)에서 "Unreal Console Technology"라는 명칭으로 접근 가능했다.
4.3.2. 언리얼 워페어 GameCube 이식 버전
언리얼 워페어 GC 버전의 소스코드다. 언리얼 워페어 엔진은 기본적으로 PC(윈도우, 리눅스)[32] 용 엔진이며 전반적으로 PC 윈도우와 구조가 비슷한 오리지널 Xbox는 크로스플랫폼으로 지원이 가능했지만 GC는 PS2와 마찬가지로 PC와 구조가 달라서 엔진 자체를 완전히 GC에 맞추는 이식 작업을 거친 버전이며 PC버전과는 완전히 별개로 분리되어 있다.
GameCube 버전 역시 당시 에픽 게임즈의 규모로 이식 작업이 무리였기 때문에 외부 개발사 Secret Level에 전담 외주 개발로 이식되었다. 에픽에서 직접 이식 작업을 전혀 안했기 때문에 첫 출시 버전인 633은 이식되지 않았고 Secret Level에서 작업한 PS2 이식 버전과 동일하게 주요 업데이트가 적용된 버전들만 이식되었다. GC 버전도 PS2 버전과 마찬가지로 언리얼 워페어라는 게임 자체가 GC로 이식된 게 아니고 엔진만 GC에서 돌아가도록 이식됐으며 UDN(언리얼 개발자 네트워크)에서 "Unreal Console Technology"라는 명칭으로 접근 가능했다.
4.3.3. 언리얼 챔피언쉽 엔진
에픽 게임즈와 언리얼, 언리얼 토너먼트를 협력으로 개발했던 Digital Extremes이 주도[34] 하고 언리얼 워페어 엔진을 사용해서 개발한 Xbox 전용 게임 언리얼 챔피언쉽의 완성된 최종 버전 소스 코드가 엔진을 라이선스 한 개발사들에게 예제 코드로 제공됐다. 언리얼 챔피언쉽은 언리얼 토너먼트 출시 직후인 1999년 12월부터 개발에 들어갔으므로 당시의 엔진 버전인 언리얼 토너먼트 엔진으로 개발이 시작했고 에픽 게임즈에서 엔진을 언리얼 워페어 엔진으로 버전업 함에 따라 개발 도중 개선된 버전의 엔진을 계속 적용했다.[35]
Digital Extremes가 개발한 언리얼 챔피언쉽용 FPS 모듈, UI 시스템, 파티클 시스템(xEmitter)이 포함된 게 특징이다.[36] 에서 Digital Extremes는 언리얼 챔피언쉽에 파티클 시스템의 필요성을 느껴 파티클 시스템(xEmitter)을 개발해서 언리얼 챔피언쉽에 적용했는데 자체 개발한 이유는 이것을 구상할 당시에 언리얼 워페어 엔진에 파티클 시스템이 없었기 때문이다.[37][38]
언리얼 챔피언쉽은 Xbox 전용으로 출시됐지만 언리얼 챔피언쉽 엔진은 윈도우와 리눅스에서도 구동된다.
4.3.4. -
레전드 엔터테인먼트에서 개발한 '''언리얼 2'''의 소스 코드다.
취소선을 해 놓은 이유는 공식 언리얼 시리즈임에도 에픽 게임즈 직접개발이 아닌 외주 개발작이고 언리얼 엔진 예제로도 제공되지 않기 때문이다.
예제로도 제공되지 않는 이유는 언리얼 2의 기본 바탕은 언리얼 워페어 엔진이지만 스켈레탈 애니메이션, 파티클 시스템, AI, UI, 게임플레이 프레임워크 등 많은 부분이 언리얼 2 외주 개발사인 Legend Entertainment에서 자체 개발한 기술로 구성되어 있는 등 여러가지로 언리얼 워페어 엔진의 표준과 많이 상이하기 때문이다.
외주 개발작인 언리얼 챔피언쉽(DIgital Extremes), 언리얼 2(Legend Entertainment)는 언리얼 워페어 엔진이 나오기 전부터 언리얼 토너먼트 엔진으로 개발이 시작되면서 각 외주 개발사에 의한 자체 개발 기술들을 많이 만들었으며 언리얼 워페어 엔진으로 업그레이드 하면서 언리얼 챔피언쉽은 자체 개발한 기술의 대부분을 삭제하고 언리얼 워페어 엔진의 기술을 활용했지만 언리얼 2는 바탕은 언리얼 워페어 엔진이지만 자체 개발한 기술을 이식해서 사용했기 때문에 표준 언리얼 엔진 2와는 많은 부분이 다르다.
언리얼 챔피언쉽은 언리얼 토너먼트 엔진으로 개발 도중 언리얼 워페어 엔진으로 업그레이드 하면서 자체 개발했던 기술을 버리고 언리얼 워페어의 기술을 사용[39] 했으며 자체 개발 기술은 자체 파티클(xEmitter) 정도만 남았지만 그 마저도 무기 발사체 등에만 사용되고 나머지 다른 부분에는 언리얼 워페어 엔진의 파티클(Emitter) 시스템을 활용했다.
반면에 언리얼 2는 언리얼 토너먼트 엔진으로 개발 도중 언리얼 워페어 엔진으로 업그레이드를 했지만 언리얼 워페어 엔진 바탕에 Legend Entertainment가 자체 개발한 기술을 이식했는데 자체 개발한 언리얼 2 엔진의 기술들은 언리얼 워페어 엔진에서 공식 추가된 기술들과 비교하면 모든 면에서 좋은 점이 단 하나도 없음에도 불구하고 언리얼 2에 개발된 많은 컨텐츠들이 이미 그 기술들을 기반으로 만들어졌기 때문에 재작업하기엔 많은 시간이 소요되어 언리얼 2 개발진들은 어쩔 수 없이 그 기술들을 계속해서 활용했다.
자체 개발 스켈레탈 애니메이션은 채널/계층 기반의 키프레임, 모션캡쳐, 스키닝 애니메이션 등을 지원하는 언리얼 워페어 엔진의 스켈레탈 애니메이션 시스템에 비해 제약이 많으며 확장성도 떨어진다. 언리얼 2의 파티클 시스템(U2Particle)도 언리얼 워페어의 파티클 시스템(Emitter)에 비해 확장성이 한참 떨어지고 작업 편의성 등 모든 면에서 비교 자체를 할 수 없을 정도다. 언리얼 2는 언리얼 워페어 엔진 빌드 829까지만 적용했기 때문에 927 버전에서 새로 개발된 UI 시스템도 도입되지 않았고 자체 UI 시스템을 활용하는데 이 또한 확장성이 전혀 없는 상태로 구성되었다.
이런 이유들로 언리얼 2 엔진은 참고 예제용으로도 제공되지 않는다. 에제로도 도움이 되지 않을 뿐더러 이 코드를 병합했다가 여러가지 오류가 발생할 상황만 생길 수도 있기 때문이다.
4.4. 언리얼 토너먼트 2003 엔진 (빌드 2107 ~ 2225)
2002년 9월에 출시된 '''언리얼 토너먼트 2003'''의 소스코드다.[40]
언리얼 토너먼트 2003는 언리얼 워페어 엔진 777로 시작해서 829를 거쳐 927까지 적용했으나 개발 도중인 2002년 중순에 언리얼 워페어 게임 개발이 중단되면서 언리얼 워페어 엔진도 빌드 927 버전을 마지막으로 중단됐기 때문에엔진의 핵심 개발은 언리얼 토너먼트 2003 개발과 함께 진행됐다.
빠른 움직임 기반의 멀티플레이 FPS를 위한 부드러운 프레임레이트와 여러가지 향상을 위해 약 3개월 간 엔진 빌드를 1000번 이상 수행해서 2002년 5월에 927이던 빌드 버전[41] 이 언리얼 토너먼트 2003 정식 출시 때인 2002년 9월에는 2107이 됐다.[42]
언리얼 워페어 엔진은 매킨토시를 지원하지 않았지만 언리얼 토너먼트 2003 엔진은 매킨토시를 지원하고 윈도우에서도 OpenGL로 구동이 가능하며 Pixomatic 소프트웨어 렌더링도 지원한다.
언리얼 토너먼트 2003은 PC(윈도우, 리눅스, 매킨토시)로만 출시됐으나 언리얼 토너먼트 2003 엔진은 Xbox에서도 구동된다.
베타 패치 버전 등을 제외한 주요 빌드 버전은 다음과 같다.
4.5. 언리얼 엔진 2 (빌드 2110 ~ 2227)
언리얼 워페어의 개발이 중단되며 빌드 927 버전[50] 에 머무른 언리얼 워페어 엔진을 업데이트 하기 위해 정식 출시된 언리얼 토너먼트 2003 엔진 빌드 2107 버전[51] 의 개선된 엔진 코드[52] 를 적용해서 업데이트 한 소스 코드다.[53]
언리얼 토너먼트 2003의 개선된 엔진 코드를 적용했지만 언리얼 토너먼트 2003을 위해 개발된 파티클 시스템(xEmitter)이나 게임 관련 코드는 모두 제거한 상태고 원래 있었던 언리얼 워페어의 게임 관련 코드도 완전히 삭제했기 때문에 어떤 게임 코드도 포함되지 않고[54] 순수하게 엔진 코드로만 구성되어 있다. 언리얼 토너먼트 2003은 리눅스와 매킨토시도 지원했으나 이 순수한 언리얼 엔진 버전은 리눅스는 지원하지만 매킨토시는 지원하지 않는다.
언리얼 토너먼트 2003의 최종 패치 버전인 빌드 2225가 출시된[55] 후 그 코드를 적용해서 빌드 2226 버전으로 업데이트[56] 했으며 마지막으로 2226에서 1년간 식별된 버그[57] 를 모두 해결한 빌드 2227 버전으로 최종 업데이트[58] 했다.
언리얼 워페어 엔진은 빌드 927 버전까지 외주 개발사 Secret Level에 의해 PlayStation 2와 GameCube 버전으로 이식되었으나 이 순수한 언리얼 엔진 버전은 더 이상 콘솔로 이식되지 않았다. 다만 Xbox와 크로스플랫폼으로 개발된 덕분에 Xbox는 공식적으로 지원한다.
순수한 언리얼 엔진 버전의 세부 업데이트 현황은 다음과 같다.
4.5.1. UDN Build
UDN Build는 순수한 언리얼 엔진 2 기반에 픽셀 셰이더를 통한 다양한 특수효과, 노멀 매핑 등을 반영해 놓은 버전이다.
UDN Build OFF는 UDN Build 각 버전으로 나온 상태를 유지하지 않고 자체 수정한 버전을 의미한다.[62]
4.5.2. 언리얼 엔진 2 런타임 에디션
Unreal Engine 2 Runtime Edition은 비-게임용(산업, 가상현실, 3차원 도면 설계 등) 용도로 활용하기 위한 런타임 버전으로 Demiurge Studios에서 순수한 언리얼 엔진 2 빌드 2226 버전 바탕에 언리얼 토너먼트 2003의 메뉴 UI를 입혀서 만들었다. 데모버전은 언리얼 스크립트 소스 코드만 제공되고 정식버전은 풀 소스 코드가 제공된다.
4.5.3. 언리얼 엔진 2X
언리얼 엔진 2X는 Xbox 전용 게임인 언리얼 챔피언쉽 2[64] 의 소스 코드다.
언리얼 챔피언쉽 2의 소스코드는 순수한 언리얼 엔진 버전 2226을 바탕으로 하지만 그것과는 별도로 분리되어 개발됐으며 전반적으로 Xbox의 성능을 극대화하기 위해 셰이더를 포함한 모든 코드가 PC를 비롯한 다른 플랫폼을 전혀 고려하지 않고 Xbox에 특별히 최적화해서 언리얼 워페어 버전 927로 개발된 언리얼 챔피언쉽 1에 비해 다양한 특수효과 등 전반적인 시각적 퀄리티가 매우 향상됐음에도 동일한 Xbox 기기에서 훨씬 더 부드럽고 매끄러운 프레임레이트를 보여준다.
순수한 언리얼 엔진 2 빌드 2226 버전을 기반으로 개량된 버전이며 UDN의 Contributed Code나 언리얼 엔진 2.5(언리얼 토너먼트 2004)의 코드(차량 물리, VoIP, T2S 등)를 병합이 가능하다.
4.6. 언리얼 엔진 2.5 (빌드 3186 ~ 3369)
2004년 3월에 출시된 언리얼 토너먼트 2004의 소스 코드다.
언리얼 토너먼트 2003의 출시 버전인 2107에서 분리[65] 되어 별도로 개발되었으며 2004년 3월에 3186이 되어 정식 출시했다.[66]
최종 패치는 2015년 11월에 출시한 3369 버전이고 이 버전이 언리얼 엔진 1 ~ 2의 마지막 빌드 버전이 된다.
언리얼 토너먼트 2004는 PC(윈도우, 리눅스, 매킨토시)로만 출시되었으나 엔진은 Xbox에서도 구동된다.[67]
64비트 윈도우와 Direct3D 9를 지원한다. 언리얼 엔진 2.5는 언리얼 토너먼트 2004 코드 그 자체이므로 기본 상태로는 언리얼 토너먼트 2004와 동일하게 픽셀 셰이더조차 지원하지 않지만 UDNBuild에 있는 노멀맵 지원 코드 등을 병합할 수 있으며 언리얼 엔진 2.0와 마찬가지로 UDN의 Contributed Code를 병합하여 다양한 기술들을 선택적으로 활용할 수 있을뿐 아니라 Direct3D 9와 셰이더 모델 2, 3에 기반한 패럴랙스 오클루전 매핑, 소프트 섀도우, HDR 렌더링 등 당시 유행하던 렌더링 및 다양한 신기술들을 UDN에서 코드를 받아 반영할 수 있다.
베타 패치 버전 등을 제외한 주요 빌드 버전은 다음과 같다.
5. 언리얼 엔진 3 (빌드 1 ~ 12791)
'''언리얼 엔진 3'''는 언리얼 토너먼트 2003 출시 직전인 2002년 중순에 개발이 시작됐다. 언리얼 토너먼트 2005[77] 의 컨셉트와 함께 DirectX 9 기반으로 엔진 기술을 개발했다.
언리얼 엔진이 게임 엔진 시장에서 기대 이상의 엄청난 선전[78] 을 했으므로 이 새로운 언리얼 엔진은 단순히 차기 언리얼 토너먼트 게임의 엔진이 아닌 범용 게임 엔진으로서 개발을 했다. 2002년 개발 당시에는 언리얼 워페어 엔진이 3세대 언리얼 엔진(언리얼 엔진 3)라고 불렸기 때문에 DirectX 9 기반의 이 새로운 언리얼 엔진은 4세대 언리얼 엔진(또는 언리얼 엔진 4)이라는 명칭으로 불렸었다. 2003년 후반에 엔진의 버전을 재정의하면서 이것을 언리얼 엔진 3라는 명칭으로 부르게 되며[79] E3 2004에서 실제 영상과 함께 공식 발표되었다.
언리얼 엔진 3는 언리얼 엔진 2에서 버전업된 엔진이 아닌 밑바탕부터 완전히 새롭게 개발된 엔진[80] 이기 때문에 빌드 버전도 언리얼 엔진 2.5의 최종 빌드 버전인 3369에서 이어지지 않고 빌드 1부터 다시 시작되었다.
언리얼 엔진 3는 기존 언리얼 엔진 1 ~ 2와는 기반부터 다른 완전히 새로운 엔진이기 때문에 기존의 언리얼 엔진과는 당연히 전혀 호환이 되지 않는다. 그래서 언리얼 엔진 2로 개발중이던 게임이 언리얼 엔진 3로 엔진을 변경하는 일은 단순한 엔진 업데이트가 아닌 완전히 새로 개발하는 수준인 관계로 언리얼 엔진 3 출시 초기에 언리얼 엔진 2로 개발이 이미 많이 진행되었던 게임들[81] 은 언리얼 엔진 3로 엔진을 변경하지 않고 언리얼 엔진 2를 개량해서 개발했다.
언리얼 엔진 2 기반에서 버전업하지 않고 완전히 새로 만든 이유는 기존의 엔진 구조는 유연성의 한계점이 있었기 때문이다. 기존 언리얼 엔진은 신기술의 도입과 개량에 매우 용이한 구조를 갖고 있었지만 모든 면에서 유연한 구조를 갖춘 것은 아니었다. 기술적인 엔진 코드와 게임 로직을 다루는 코드 간의 경계가 불명확했고 콘솔 버전 등 다양한 플랫폼으로 릴리즈 시 거의 이식 수준의 프로그래밍 작업이 필요했으며 렌더링 등에서도 단순한 신기술 추가가 아닌 렌더링 기반 자체가 변경되어야 할 경우엔 렌더링 로직을 아예 다 뜯어 고쳐서 새로 만들어야 할 상황[82] 도 발생했었다.
이런 단점들을 보완하기 위해서 완전히 새로운 기반으로 처음부터 다시 구조를 설계했으며 그 결과 언리얼 엔진 3는 새로운 플랫폼에 릴리즈를 하더라도 엔진을 이식 수준으로 다시 작성하지 않고 해당 플랫폼에 대한 릴리즈 기능만을 엔진에 추가하여 배포가 가능토록 했고 엔진 로직과 게임 로직의 코드를 완전히 분리시켜 게임의 코드는 기술적인 부분과 혼합되지 않고 순수하게 게임의 코드만 작성될 수 있도록 했으며 게임 개발간 엔진의 버전 업데이트가 더욱 용이하게 되었다. 또한 렌더링 로직을 새로운 수준으로 개량하더라도 코드를 전부 들어내고 새로 작성할 필요가 없도록 더욱 유연한 구조를 갖고 있어 언리얼 엔진 3는 약 10년간 지속적으로 업데이트 되며 여러가지 신기술을 지원해나갔고 엔진을 사용하는 개발사들도 각자의 게임에 맞게 렌더링을 비교적 쉽게 변경하여 사용할 수 있게 되었다.
언리얼 엔진 2는 CodeDrop이라는 Zip 압축파일을 UDN에 업로드하는 식으로 새로운 버전을 배포했으나 언리얼 엔진 3는 QA-승인 빌드(QA-approved build)를 Perforce에 업로드하여 배포 했다. 언리얼 엔진 3는 에픽에서 하루 최소 1번, 보통 2 ~ 3번, 많게는 5번 이상도 빌드를 했으며 이 수 많은 빌드 중 에픽 내부 QA팀의 승인이 통과된 버전은 QA-승인 빌드로 약 1달에 한번씩 업로드되어 배포되었다.
5.1. Atlas Technology
에픽 게임스 차이나[115] 에서 개발한 언리얼 엔진 3 의 MMOG 클라이언트 변형 버전 및 서버 엔진을 제공하는 서비스로 ATLAS Technology라는게 출시된 적이 있었다.
ATLAS Technology는 언리얼 엔진 3 QA승인 빌드마다 나오지는 않고 연간 약 2 ~ 3회 정도의 QA 빌드를 통해 업그레이드 되었다.
5.2. UDK
UDK는 Windows, MacOS 및 iOS용으로 개발이 가능한 언리얼 엔진 3의 런타임 버전이다. 유료 라이센스용 언리얼 엔진 3와의 차이점은 소스 코드의 제공 외에도 개발 가능한 플랫폼이 Windows, MacOS, iOS로 제한된다는 점과 일부 기능 및 툴의 제한이 있으나 현저한 차이는 나지 않는다. 또한 언리얼 엔진 3 정식 라이센스에서는 각 해당 외부 플러그인 개발사에 별도의 라이센스 비용을 지불하고 사용할 수 있는 반면 UDK는 주로 인디 개발사나 개인 개발자가 개발한다는 점을 고려해서 Simplygon, SpeedTree, Substance 같은 외부 플러그인을 무료로 제공해준다.[116]
UDK는 1달에 한번씩 나오는 언리얼 엔진 3의 QA-승인 빌드를 사용해서 2009년 11월부터 2012년 3월까지 매달 새로운 버전이 출시되었다. 언리얼 엔진 3의 업그레이드는 사실상 2012년 중순쯤 거의 종료된 상태였고 그 이후로는 UDK의 업데이트도 드문드문 나오게 되며 2015년 2월에 최종 버전이 출시된다.
엄밀히 UDK는 정식 언리얼 엔진 3라기 보다는 언리얼 엔진 3로 만든 게임이라고 볼 수 있다. 알맹이는 하나도 없는 샘플 게임[117] 이지만 언리얼 엔진 3의 대부분의 기능을 이용해서 Windows, MacOS, iOS로 MOD 개발이 가능하도록 제한을 풀어 놓은 게임[118] 이라고 생각하면 언리얼 엔진 3 정식 라이센스와의 차이점이 무엇인지 이해가 쉬울 것이다.
6. 언리얼 엔진 4 이후 (언리얼 엔진 4.0.0 ~ 5 ~ 계속)
'''언리얼 엔진 4'''는 2010년 후반부터 개발했으며 언리얼 엔진 3를 바탕으로 버전업하여 만들어지지 않고, 언리얼 엔진 2에서 언리얼 엔진 3로 넘어갈 때처럼 또 다시 뼈대부터 완전히 새로운 기반[119] 으로 개발되었다.
언리얼 엔진 4는 언리얼 엔진 3와 기반부터 완전히 다른 새로운 엔진이기 때문에 언리얼 엔진 3와 호환되지 않는다. 그래서 언리얼 엔진 3로 개발중이거나 개발 완료된 게임을 언리얼 엔진 4로 변경하는 것은 엔진 버전 업그레이드 수준이 아닌, 완전히 다른 엔진으로 이식하는 일에 해당한다. 그런 이유로 언리얼 엔진 4 출시 초기에 이미 언리얼 엔진 3로 개발이 많이 진행됐던 게임들[120] 은 언리얼 엔진 4로 업그레이드 하지 않고 언리얼 엔진 3를 개량하여 출시되었다. 리마스터작[121] 들도 언리얼 엔진 3에서 4로의 전환은 완전히 새로 개발하는 것과 거의 마찬가지라서 그냥 언리얼 엔진 3를 개량해서[122] 출시했다.[123]
언리얼 엔진 3도 여러가지 유연성을 위해서 기존의 언리얼 엔진을 버리고 완전히 새로운 구조로 다시 설계했으나 지속적 버전업 및 다양한 게임에 사용된 사례에서 그 구조의 유연함에도 여전히 한계가 있다는 것이 드러났다. 언리얼 엔진 3가 아무리 유연하다고 해도 기본적으로 그 프레임워크에 기반한 일정한 틀이 잡혀 있으며 그틀을 벗어나는 개량을 행할 경우 많은 어려움이 따르며 오류가 발생할 가능성이 높아지고 그러한 개량 자체가 유연함과는 거리가 있는 행위가 되어버리는 상황이 발생했다. 또한 신기술을 도입하더라도 기존의 기능과 완전히 융합을 시키기엔 많은 작업이 필요했으며 일부를 수정하거나 변경하면서 필요 없어진 부분의 코드를 오류 발생없이 제거하는 데에도 많은 노력이 들어갔다.
뿐만 아니라 이런식으로 항상 새로운 구조로 엔진을 설계하면 엔진을 처음부터 다시 만들어야 하는데 새로운 엔진에 집중하며 개발하는 시점에서 기존 엔진은 업데이트가 마무리되며 거의 종료되기에 이르고 새로운 엔진은 개발 초기 버전이라서 기존 엔진의 모든 기능을 그대로 가져오지도 못하고 많은 부분이 개발이 덜 되거나 볼안정할 수 밖에 없다. 게다가 그 중간에는 최신 버전의 안정적인 엔진이 없는 공백기간이 발생하는 셈이된다. 언리얼 엔진 3의 초기 버전이 겪었던 일이며 언리얼 엔진 4를 새로 만들 경우에도 동일하게 발생할 상황이었지만 향후 이런 모든 단점을 극복하고 더 이상 발생하지 않게 하기 위해서 언리얼 엔진 3의 구조를 버리고 또 다시 완전히 새로운 설계를 했다.
새로운 설계로 완성된 구조를 갖춘 언리얼 엔진 4는 엔진의 전체 구조를 확장형으로 설계하여 엔진, 에디터, 유틸리티 같은 모든 기능이 모듈화와 컴포넌트화를 이루고 있으며 지속적 업데이트와 다양한 기능 추가, 수정, 개량에 훨씬 용이함은 물론이고 모든 것들이 완전히 조립식으로 구성되어 분리나 결합 또는 다양한 조립이 가능하고 심지어 이런 구조 자체의 변경애도 제한이 없고 일정한 프레임워크의 틀에 제한되어 있지도 않다. 어떤식으로든 구조를 변경하거나, 개량을 하거나, 일부 또는 전체를 어떤 형태로 수정하고 변형을 가하거나, 필요 없는 기능을 제거하거나, 그것도 아니면 다른 외부의 어떤 코드, 컴포넌트, 모듈 등 무엇이든 융합하더라도 매우 유연하고 융합한 것에 대한 버전 업그레이드 등이 매우 용이하기 떄문에 개발 도중에 엔진 버전업, 기능 개선, 구성 커스터마이징 등 무엇을 행하더라도 비교적 간단한 버전업 작업만으로 가능하게 되었다.
그뿐만이 아니라 이런 구조 덕분에 엔진 개발 프로세스도 기술, 툴, 기능 파트별로 구분되어 빌드되며 적당히 사용 가능한 시점에서 완성된 주요 코드들을 융합하여 QA승인 버전으로 정식 버전이 출시되는 방식을 가지므로 더 이상 빌드 버전도 의미가 없어서 빌드 버전의 구분은 폐기되었다. 개발중인 엔진의 소스 코드는 정식 라이센스 사용자는 퍼포스를 통해서 접근하고 일반 사용자들은 Github를 통해서 누구나 접근이 가능하며 코드 제출도 가능하기 때문에 인터넷으로 언리얼 엔진 계정에 가입만 하면 누구든지 언리얼 엔진의 개발자가 될 수 있는 구조가 되었다. 실제로 매 버전마다 수 많은 일반인들이 제출한 코드들이 포함되어 있으며 코드 제출자들은 각 버전별 엔진 개발자 크레딧에 포함된다.
그리고 이런 구조 설계 덕분에 향후 언리얼 엔진의 메인 업그레이드도 이 기반을 바탕으로 연속적이며 자연스럽게 버전업된다. 그러므로 언리얼 엔진 4에서 언리얼 엔진 5으로 넘어가더라도 중간에 공백이 발생하지 않으며 언리얼 엔진 4로 개발 중인 프로젝트를 언리얼 엔진 5로 업그레이드 하는 것도 간단한 버전업 작업[124] 으로 마무리할 수 있다. 나중에 언리얼 엔진 6나 언리얼 엔진 7 등 향후 버전이 계속해서 나오더라도 마찬가지로 이 기반을 바탕으로 연속적으로 바전업한다.
그러므로 언리얼 엔진 4 이후는 개발 도중 엔진 버전업이나 리마스터작의 최신 엔진으로 업그레이드(4에서 5, 5에서 6 등)는 쉽게 이루어질 수 있다.
버전의 표기는 베타 버전격으로 공개된 2012년에는 언리얼 엔진 3와 동일하게 빌드 버전과 퍼포스 체인지리스트 넘버가 존재했지으나 2013년부터는 빌드 넘버가 제거되었고 퍼포스 체인지리스트만 유지했다. 2014년 3월에 공개된 정식 버전인 언리얼 엔진 4.0부터는 대중 친화적인 형식인 x.x.x를 사용하고 있다. 퍼포스 체인지리스트 넘버는 여전히 유지하고 있다.
2020년 8월 기준으로 4.25.3 버전까지 나와있다.
언리얼 엔진 4부터는 단일 엔진으로서 완전한 범용화를 추구한다. 언리얼 엔진 3에서도 이미 기반을 범용화의 기반을 다졌지만 언리얼 엔진 4는 현재 존재하는, 그리고 향후 출시될 모든 플랫폼들을 전부 지원하는 것을 목표로 삼고 있으며, 심지어 에디터 개발환경 까지도 윈도우뿐만 아니라 리눅스와 매킨토시에서도 구동이 된다.
지원되는 플랫폼은 최초 출시시엔 윈도우, Linux, 맥OS X, PS4, Xbox One, iOS, Android, HTML5이며, 지속적인 버전업을 통해 VR, AR 기기등을 비롯한 지원할 수 있는 모든 플랫폼들을 전부 지원하고 있다.
비주얼 스튜디오와 파트너쉽을 맺으면서 별도의 플러그인 설치없이 설정만 하면 C++ 프로젝트를 수행할 수 있게 되었다.MSDN 블로그
언리얼 엔진 4는 DirectX 11 & 12급 하드웨어 및 셰이더 모델 5를 기본 사양으로 개발되었으나 지속되는 버전업에 따라 그 이상이 기본 사양으로 올라갈 수 있고 현재 기반을 바탕으로 자연스럽게 언리얼 엔진 5 및 그 이후로 넘어갈 것이므로 기본 사양이라는 것은 당시의 시점에 따라 다르게 될 것이다.
대중에게 개방된 이후 누구라도 '''무료'''로 매달 최신버전의 엔진과 그 최신버전의 소스코드를 다운로드 받을 수 있다. 그리고 분기별 3000$ 이상의 수익 발생 시 전체 수익의 5%를 로열티로 지불하면 된다. 그리고 로열티를 지불하고 싶지 않은 개발자들을 위해 커스텀 라이선스 제도 또한 운영하고 있다.
언리얼 엔진 4는 수시로 버전업되며 그 주기가 매우 빠른 편이고 업데이트에 수 많은 엔진 사용자들의 피드백과 의견 수렴 및 커뮤니티의 요구사항에 대한 반영이 적극적으로 이루어지고 있다. 게다가 매 버전 업데이트 시 마다 수많은 사용자들이 기여한 코드도 엔진에 정식으로 업데이트 된다. 다만 이 경우엔 기여된 코드 자체가 그대로 적용되는 것이 아니고, 코드 전체가 철저한 검증을 거친 후에 엔진의 다른 기능들과 충돌이나 버그가 발생하지 않도록, 기존의 기술 및 향후 추가될 기술과의 호환성을 고려하고 코드 스타일이나 문법체계도 엔진의 전체 코딩 양식에 맞게 수정되어 적용된다.
DirectX가 실시간 레이트레이싱 API를 만들었고 이를 지원하는 그래픽 카드 역시 출시되면서, 언리얼 엔진 역시 이를 지원하게 되었다.
언리얼 엔진 3까지는 32비트에서도 무리없이 툴을 사용할 수 있었지만 언리얼 엔진 4부터는 시스템 안정화 및 성능 향상 등 여러가지 이유로 인해 툴 자체가 64비트 전용이다. 개발을 위한 에디터 구동 및 툴 등 개발환경은 64비트 전용이지만 언리얼 엔진 4를 이용하여 개발된 게임을 32비트용으로 배포하면 배포된 게임을 32비트로 구동하는 것에는 문제가 없다.
[1] 참고로 이 양반, 포트나이트/세이브 더 월드의 생존자 스킨중 하나로도 등장한다.[2] 당연하지만 여기서 말하는 빌드란 게임 스크립트 빌드나 지오메트리 빌드, 라이팅 빌드 따위를 의미하는게 아니다. 프로그램 개발중 DLL을 컴파일하거나 일부 컴파일된 코드를 링크하여 실행파일을 만드는 수준이 아닌 전체 소스코드 컴파일을 포함해서 여러가지 가공을 거쳐 프로젝트 자체를 실행가능한 소프트웨어 산출물로 뽑아내는 것을 빌드라고 한다.[3] 언리얼 엔진 2는 언리얼 엔진 1에서 기능이 개선되며 버전업한 형태이므로 빌드 버전도 그대로 이어졌다.[4] 언리얼 엔진 3는 하루에 최소 1번에서 보통 2~3번, 개선 내용이 많을 때는 5번이 넘게 빌드를 했다고 하니 공휴일을 제외하고 1년간 평일을 대략 300일로 계산하면 2003년부터 2015년 1월까지 약 12년간 12791이라는 횟수가 충분히 나온다.[5] 4.12 버전은 4.12.5까지, 4.13 버전은 4.13.2까지, 4. 14 버전은 4.14.3까지 나오는 식이다.[6] 지원되는 하드웨어 텍스처 필터링이 없으면 확대시 모자이크 같은 네모 픽셀이 크게 드러나는데 이것을 하드웨어 없이 소프트웨어로 뭉개서 네모 픽셀이 튀는 현상을 보완했다.[7] 1995년 버전과는 완전히 다른 맵.[8] 알파 버전과는 완전히 다른 음악이며 이중 하나는 최종 완성버전인 언리얼 1의 정식 버전에서도 사용된 음악이다.[9] 기존 버전의 맵은 삭제되고 새로운 맵이 추가됨.[10] 기존 2개 음악 중 1개.[11] 이 언리얼스크립트라는 언어는 언리얼 엔진 3까지 사용되었다.[12] 최종 완성된 언리얼 엔진 1의 구조이며, 언리얼 엔진 2도 이 구조를 그대로 계승하여 사용했다.[13] 렌더링 모듈 하위에 렌더링 드라이버 모듈, 오디오 모듈 하위에 오디오 드라이버 모듈 등.[14] 정식 출시된 언리얼 1 게임의 버전[15] 이전처럼 언리얼 에디터 소스코드 전체가 재작성 된 것은 아님.[16] 언리얼 1 게임의 최종 패치 버전[17] 언리얼은 별도로 223, 224, 225, 226 패치 적용[18] 언리얼 엔진과 분리되어 별도의 언리얼 토너먼트 엔진으로 개발된 최초의 버전으로 베타 데모로 공개되었다.[19] 정식 출시된 언리얼 토너먼트 게임의 버전[20] 언리얼 에디터의 내부 기능은 C++ DLL로 만들어진 것을 그대로 사용하며, 에디터의 프레임워크만 완전히 새롭게 개발.[21] 언리얼 토너먼트 최종 패치[22] 에픽에서 직접 PS2로 이식한 Unreal Tournament 420 버전[23] 외주 개발사 Secret Level에 의해 Dreamcast로 이식한 Unreal Tournament 420 버전[24] 언리얼 토너먼트는 별도로 425, 428, 432, 436 패치 적용[25] 언리얼 엔진 1과 2의 개발 프로세스에서 가장 큰 차이점이라고 볼 수 있는 스태틱 메시가 포함되어 있다. 듀크 뉴켐 포에버가 이 버전을 기반으로 자체 개량을 거쳐 개발됐다.[26] 파일 내부의 이름도 모두 언리얼 워페어로 변경됨[27] 실제로 NC소프트에서 리니지 2의 개발을 위해 2001년에 언리얼 워페어 엔진을 라이선스 했을 때 NC소프트 공식 발표자료에도 리니지 2 개발에 언리얼 엔진 3를 채용했다고 발표했다.[28] 실제 "언리얼 엔진 3"로 출시된 언리얼 엔진 3는 이 당시에 개발 초기였으며 "4세대 언리얼 엔진" 또는 "언리얼 엔진 4"라는 명칭이 사용됐으며 2003년 당시 언리얼 엔진 4를 개발중이라는 에픽의 인터뷰 기사가 나간적이 있었는데 이 때문에 이 인터뷰 기사가 후에 와전되어 언리얼 엔진 3의 공개(2004년) 전인 2003년에 이미 언리얼 엔진 4의 개발이 시작되었다는 오해가 빚어지기도 했다.[29] 프리뷰 빌드 등 베타 버전 제외.[30] UDN에 Contribute Code를 만들어서 언리얼 엔진 라이선시 간 커스텀 툴, 패키지, 특수효과 등 GUI, 물리효과, 커스텀 애니메이션 코드 등 다양한 것들을 공유하도록 했다. 기본 CodeDrop이나 아래에 언급될 UT2003, 또는 UDNBuild 등 버전에 관계없이 Contributed Code를 병합할 수 있고 개발하는 게임별로 필요한 기능만 선택적으로 활용하는 등 자유롭게 커스터마이징이 가능하다. 본격적인 범용 엔진으로서의 진화는 이 때부터라고 볼 수 있다.[31] 언리얼 워페어 엔진은 매킨토시를 지원하지 않는다.[32] 언리얼 워페어 엔진은 매킨토시를 지원하지 않는다.[33] build 739에서 파티클 시스템이 추가되기 전에 Digital Extremes에서 Unreal Championship을 위해 개발한 파티클 시스템[34] 언리얼과 언리얼 토너먼트는 에픽 게임즈가 개발 전반을 주도했으나 Xbox 전용 언리얼 챔피언쉽의 개발엔 에픽 게임즈는 언리얼 엔진 제공과 프로듀싱 및 일부 맵, 캐릭터, 텍스처 제작에만 관여하고 게임 프로그래밍을 포함한 개발 전반은 Digital Extremes가 담당했다.[35] 언리얼 확장팩 리턴 투 나 팔리와 언리얼 엔진을 활용한 휠 오브 타임을 개발했던 Legend Entertainment에서 개발한 언리얼 2도 거의 비슷하다. 언리얼 2도 휠 오브 타임 출시 직후인 1999년 11월부터 언리얼 토너먼트 엔진을 기반으로 개발을 시작해서 언리얼 워페어 엔진으로 개발 도중 계속 개선된 엔진 버전을 적용했다. 최종 적용 버전은 언리얼 워페어 엔진 빌드 927 버전이다.[36] 개발중이던 2001년에는 DIgital Extremes에서 자체 개발한 프로젝터(xProjector) 기술도 들어갔으나 에픽 게임즈에서 언리얼 워페어 엔진을 업데이트하며 그것보다 더 뛰어난 프로젝터(Projector)를 포함하자 Digital Extremes에서 자체 개발한 프로젝터(xProjector)는 삭제했다.[37] 언리얼 2 또한 개발 도중 파티클 시스템의 필요성을 느끼고 개발사인 Legend Entertainment에서 자체 개발한 파티클 시스템(U2Particle)을 언리얼 2에 적용했다. 이 언리얼 챔피언쉽 파티클 시스템(xEmitter)은 공식 언리얼 워페어 엔진이나, 언리얼 엔진 2, 언리얼 엔진 2 런타임, UDNBuild 등에는 포함되지 않았으나 언리얼 토너먼트 2003 엔진, 언리얼 엔진 2.5(언리얼 토너먼트 2004 엔진)에는 포함되어 있다.[38] 에픽 게임즈에서 개발한 파티클 시스템(Emitters, SpriteEmitter, MeshEmitter, SparkEmitter, BeamEmitter, TrialEmitter)은 2001년 7월에 출시한 언리얼 워페어 엔진 빌드 739 버전에서 추가되었으며 U2Particle이나 xEmitter보다 확장성 등 모든면에서 훨씬 더 뛰어나다.[39] Digital Extremes가 자체 개발한 프로젝터(xProejct)를 삭제하고 언리얼 워페어 엔진 빌드 927 버전에서 추가된 프로젝터를 활용했다.[40] 언리얼 토너먼트의 후속작 개발 소식 없이 에픽 게임즈의 협력 개발사 Digital Extremes의 주도로 개발중이던 언리얼 챔피언쉽은 Xbox 전용으로 발표되어 PC로 언리얼 토너먼트 후속작을 갈망하는 팬들의 요청에 의해 언리얼 토너먼트 2를 개발하기로 급하게 결정하면서 개발된 게임이다. 언리얼 챔피언쉽은 MS와 Xbox 전용 게임으로 발매하기로 계약이 됐기 때문에 언리얼 챔피언쉽이라는 제목의 게임을 PC 버전으로 만들지 못하는 대신 언리얼 챔피언쉽의 대부분의 컨텐츠를 가져오고 UI 변경, 새로운 음악, 일부 무기 변경, 새로운 맵, 새로운 캐릭터와 게임플레이를 다듬으며 언리얼 토너먼트 2라는 제목으로 PC 버전을 개발한다. 개발도중 스포츠 게임처럼 매년 언리얼 토너먼트 게임을 출시한다는 계획으로 제목도 언리얼 토너먼트 2003으로 변경하며 공식 발표했다.[41] 2002년 5월에 927 버전 기반의 언리얼 토너먼트 2003 베타 데모가 공개되었다.[42] 라이선스 한 개발사들에게는 중간 버전인 1003 버전 등이 예제로 공개되기도 했으며 데모 버전으로 1077, 1080 등의 버전도 있었으나 큰 의미는 없다.[43] 언리얼 토너먼트 2003 출시 버전[44] build 739에서 파티클 시스템이 추가되기 전에 Digital Extremes에서 Unreal Championship을 위해 개발한 파티클 시스템[45] 언리얼 토너먼트 2003 공식 패치 1[46] 언리얼 토너먼트 2003 공식 패치 2[47] 언리얼 토너먼트 2003 공식 패치 3[48] 언리얼 토너먼트 2003 공식 패치 4[49] 언리얼 토너먼트 2003 공식 패치 5[50] 2002년 5월[51] 2002년 9월[52] 렌더링 향상, 툴 개선, 기타 다수 개선[53] 언리얼 워페어 엔진으로 개발하던 프로젝트는 2110으로 쉽게 업그레이드가 가능했다.[54] FPS 게임 모듈도 없다.[55] 2003년 4월[56] 2003년 5월[57] 언리얼 토너먼트 2003 관련 코드가 일부 삭제되지 않아 오류를 일으킨 정도의 버그들 밖에 없었다.[58] 2004년 5월[59] 언리얼 토너먼트 2003의 정식 출시 버전 2107에서 개선된 코드를 이식[60] 언리얼 토너먼트 2003의 최종 패치 버전 2225에서 개선된 코드를 이식[61] 버전 2226에서 식별된 모든 버그 수정[62] 언리얼 토너먼트 2003 코드나 UDN의 Contribute Code를 병합할 수도 있다.[63] UDN Build를 자체 커스터마이징한 버전[64] 언리얼 챔피언쉽에 이은 Xbox 전용 언리얼 게임 타이틀 발매를 원한 마이크로소프트의 요청에 따라 급하게 개발된 게임으로, 언리얼 토너먼트 2005로 계획했던 컨셉트를 바탕으로 개발했다.[65] 언리얼 토너먼트 2003은 별도로 2225 패치까지 적용[66] 2004년 2월에 3120 버전이 데모로 먼저 출시되었다.[67] 로지텍 G15 키보드 지원을 위한 8번째 패치인 3372 버전이 나왔으나 이는 단순히 언리얼 토너먼트 2004 게임에 키보드 지원 기능을 추가한 패치로 실질적인 엔진의 성능이나 기능과는 아무런 관련이 없고 CodeDrop으로 제공되지도 않았다. 심지어 로지텍 G15 키보드가 없는 PC에서 3372 패치를 했다면 다시 3369패치로 되돌려야 한다.[68] 언리얼 토너먼트 2004 출시 버전[69] 언리얼 토너먼트 2004 공식 패치 1[70] 언리얼 토너먼트 2004 공식 패치 2[71] 언리얼 토너먼트 2004 공식 패치 3[72] UDN Contributed Code 사용[73] 언리얼 토너먼트 2004 공식 패치 4[74] 언리얼 토너먼트 2004 공식 패치 5[75] 언리얼 토너먼트 2004 공식 패치 6[76] 언리얼 토너먼트 2004 공식 패치 7[77] 언리얼 토너먼트 2004는 2003을 기반으로 개발하기로 결정됐고 2005를 새로운 엔진으로 개발하기로 결정한 상태였다.[78] 퀘이크 엔진처럼 소수의 FPS 게임 개발에만 라이선스 될 것으로 예상했으나, 소스 코드 전체가 퀘이크류 게임에서 벗어나기 힘든 일정한 틀로 만들어진 퀘이크 엔진을 비롯한 타 FPS 게임 엔진들과는 전혀 다른 유연함과 확장성을 기반으로 설계된 언리얼 엔진의 구조 및 타 게임이나 엔진들의 맵 에디터와는 개념 자체가 다른 통합 개발툴 수준의 WYSIWYG 기반 언리얼 에디터 덕분에 언리얼 엔진은 FPS 게임뿐 아니라 장르를 불문하고 다양한 게임들(MMORPG까지도)에 사용됐으며, 개발사인 에픽 게임즈도 언리얼 엔진이 그 정도로 광범위하게 사용될지는 전혀 예상하지 못했다.[79] 실제 공개는 안됐지만 인터뷰나 UDN의 언급에 나오기는 했다.[80] 언리얼 스크립트, 로컬라이제이션, 설정파일의 일부 등 소수의 기능들은 기존의 것을 사용하지만 그것은 엔진의 전체적인 구조와 관계없이 일부 기능을 사용한 것에 불과하며 실질적으로 엔진의 뼈대 자체는 기존의 언리얼 엔진에서 버전업한게 아니라 완전히 새롭게 개발되었다. 2004년에 공개한 초기 버전의 에디터에는 언리얼 엔진 2 에디터의 내장 툴 일부를 사용했으나 개발중 일시적으로 도입했던 것에 불과하며 버전업되면서 모두 삭제되고 완전히 새로운 툴로 교체되었다. 엔진 소스의 기본적인 구조 자체부터 완전히 다르게 작성됐기 때문에 언리얼 엔진 1 ~ 2와 전혀 호환되지 않는다.[81] 바이오쇼크 등[82] 기존 렌더링 로직을 모두 버리고 실시간 라이팅 + 실시간 섀도우를 사용한 시프: 데들리 섀도스와 데이어스 엑스: 인비지블 워의 경우가 렌더링 로직을 거의 완전히 새로 작성한 경우에 해당하며 엔진 내부를 다 뜯어고쳐서 워페어 버전 777에서 업데이트를 중단하기까지 했다. 해당 기능들은 2226 이후 UDNBuild에 들어가 있었지만 그보다 훨씬 일찍 렌더링 로직을 다 뜯어고쳤기에 저런 일이 발생했다.[83] E3 2004 시연 버전이 유출된 것으로 보임[84] 패럴랙스 오클루전 매핑[85] 광원과 피사체와 그늘지는 표면의 거리에 따라 날카롭거나 부드러워지는 그림자[86] 셰이더 코드( HLSL, CG 등)를 직접 작성하지 않고 마우스로 선을 이어서 만드는 노드 기반으로 셰이더를 작성[87] 언리얼스크립트로 게임코드를 직접 프로그래밍하지 않고 플로우챠드를 그리듯 마우스로 선을 이어서 만드는 노드 기반으로 게임 스크립트를 작성[88] 언리얼 에디터에 캐스케이드 툴 추가[89] 텍스처의 밝기, Vibrance, 감마 커브 비파괴적 조절 가능[90] 새로운 지오메트리 에디터 기능[91] 스크립트를 이용한 버텍스 애니메이션 등[92] 절차적으로 건물을 생성하는 툴[93] 비슷한 유형의 여러 애셋을 목록에서 선택한 하나의 애셋으로 통합, 유사한 변종들을 제거하여 컨텐츠 최적화 가능[94] 하드웨어의 성능에 관계없이 최상의 텍스처 해상도 및 그림자 품질로 스크린샷 촬영 가능[95] 컨텐츠 브라우저에서 되돌리기 지원 개선, 실수에 의한 파일 되돌리기 방지 및 현재 되돌리고 있는 파일이 무엇인지 확실히 표시[96] 이동 트랙을 옮기기와 회전 요소를 별개로 분할 가능[97] 텍스처 속성 대량 편집 가능[98] 3.0[99] 리본별 크기와 수명 랜덤 지정 가능[100] 파티클 일관 재생[101] CPU/GPU 성능 및 메모리 사용량 감소[102] 스켈 컨트롤 사지에 회전하는 본 부착 가능[103] 압축 개선으로 메모리 사용량 30% 이상 감소[104] 기존의 PhysX 파괴를 완전히 대체[105] 포울리지 볼륨 및 터레인 볼륨[106] 플러드 필 지원 등[107] 프로젝타일 팩토리 추가[108] 품질 및 성능 여러모로 개선[109] 메모리 사용량 개선 등 여러모로 최적화[110] 새로운 기능 등 여러모로 개선[111] 1.99a[112] Visibility 트랙 시간선 슬라이더 미리보기 추가[113] 화면공간 서브서피스 스캐터링[114] 액체 표면 등 어떤 머티리얼에도 사용 가능[115] 현재의 공식 에픽 중국 지사가 아닌 별도 법인 회사, 나중에는 Yingpei Games로 사명이 변경되었다.[116] 물론 무료로 런타임 버전을사용만 가능할 뿐 정식 라이센스가 아니므로 해당 외부 플러그인들의 소스코드 공개도 당연히 없다.[117] 언리얼 토너먼트 3 샘플게임 및 기타 장르별 샘플 등[118] 일반적으로 정식 출시하는 상용 게임 중에서 MOD 개발을 다른 플랫폼까지 개방하는 게임은 없다.[119] 개발 초기 시점에 공개된 2012년 영상에는 언리얼 엔진 3의 내부 에디터 툴 몇가지를 그대로 탑재하기도 했고 액터 모빌리티 설정 대신 별개의 액터로 나눠지는 등 언리얼 엔진 3의 잔재를 가져온 흔적이 보였으나 이는 일부 기능을 개발중 일시적으로 적용한 것과 불과하고 엔진 구성 기반 자체는 처음부터 완전히 새롭게 만든 것이며 언리얼 엔진 3에서 잠시 빌려왔던 흔적들은 2014년에 출시한 정식 버전 4.0에서 완전히 새롭게 교체되었다. 그 후에 버전업하며 교체된 파티클 툴 케스캐이드→나이아가라, 영상편집툴 마티네→시퀀서 등의 구 툴(케스캐이드, 마티네 등)도 언리얼 엔진 3의 코드를 쓴게 아닌 완전히 새로운 코드로 작성되어 임시로 쓰였던 툴이다. 이처럼 언리얼 엔진 4는 언리얼 엔진 3의 개량 버전이 아닌 기반부터 완전히 다른 엔진이다.[120] 배트맨 아캄 나이트, 엑스컴 2, 킬링 플로어 2, 아스텔리아, 로스트 아크, 엘리온 등[121] 기어스 오브 워 얼티밋 에디션, 블렛스톰 풀 클립 에디션, 섀도우 콤플렉스, 보더랜드 GOTY 인핸스드 등[122] 언리얼 엔진 3 초기 버전은 언리얼 엔진 3의 후기 버전으로 버전업 + 일부 자체 개량[123] 소규모 인디 게임은 Redux 버전이라고 해서 언리얼 엔진 3에서 4로 업그레이드 한 작품들도 있었는데 이 경우는 워낙 소규모라서 새로 개발하는 샘쳐도 작업량이 많지 않기 떄문이다. 예외적으로 대규모 게임중 언리얼 엔진 3에서 4로 리마스터한 게임은 배트맨 리턴 투 아캄(어사일럼, 시티 리마스터)으로, 언리얼 엔진 4로 이식해서 광원 등이 확실히 발전한게 보이고 모델링이나 텍스처도 손봐서 해상도가 높아졌지만 아트 디렉팅을 제대로 못해서 오히려 원본보다 떨어져 보이는 부분이 많아서 많은 비판을 받았다. 블레이드 앤 소울도 언리얼 엔진 4로 리마스터한 프론티어 월드가 나왔다.[124] 예를 들면 언리얼 엔진 4.13로 개발된 프로젝트를 언리얼 엔진 4.16으로 엔진 버전업 하듯 가능하다.[125] E3 2012 시연 버전은 빌드 넘버 4자리로 표기되었다. 4자리수이므로 2010년 개발을 시작하고 나서 빌드를 1000번은 넘게 했다는 말이 된다.[126] 2013년는 빌드 넘버를 더 이상 표기하지 않고 매달 QA 승인 버전이 배포되었다. 빌드 넘버는 제거되었지만 퍼포스 체인지리스트는 계속 표기되므로 얼마나 수정되었는지는 알 수 있다. 퍼포스에 접속하면 실시간으로 수정되는 소스 코드를 접근할 수 있다.[127] 2014년 3월 첫 공개된 언리얼 엔진 4.0 정식 버전[128] 필수[129] 필수[130] 필수[131] 2021년 연말 정식 버전 공개 예정