메뉴 건너뛰기

통합검색 입력 폼
잡코리아 주요 서비스
끝이 다른 시작 JOBKOREA 알바의 상식 albamon


취업토크 상세

지나가던 프로그래머인데 재대로 알고 갑시다.

작성자
중복확인1
작성일
2019-07-09
조회수
3649
좋아요 수
0
1. unmanaged / managed 이런 구분은 없습니다. 정확한 표현은 Native / managed code 입니다.
제가 정한게 아니고 영어권 커뮤니티에 가면 이런 표현을 씁니다.

2. Unreal은 C++ 기반이고 Native code이다?
반은 맞고 반은 틀립니다. 언리얼은 C++ 11 표준에 따른 문법을 사용하고 있을 뿐이고 사실상 멀티플렛폼
을 위한 VM 기반의 Managed code 구조를 가지고 있습니다. 그래서 유니티에는 없는 오만가지 짜증나는 매크로로 범벅이 되어 있습니다. 또한 GC등과 같이 managed code들의 특성도 고스란히 가지고 있습니다. 컴파일 및 작동구조는 유니티 C#하고 비슷하지만 문법은 더 까다롭고 온갖 빌드 에러가 수시로 발생하는 매우 불편한 구조를 가집니다. 이런 구조는 완전 VM으로 만들어진 유니티에 비해 언리얼의 C++로 만든 어중간한 빌드 방식때문이며 언리얼은 실행 시킬때 엔진 에디터가 사용자가 만든 코드(프로젝트에 코딩한거 - 실제 게임 코드)를 DLL 형식으로 링크해서 쓰는 매우 복잡 한 방식을 사용하기 때문입니다. 즉 사용자는 자기 프로젝트에 맞는 Plugin을 코딩한다고 보면 됩니다. 유니티와 프로젝트 구조가 매우 다릅니다.

이런 배경은 유니티와는 다르게 언리얼은 풀 소스코드 빌드를 제공하고 로우레벨 아키텍처에 직접 접근할수
있기 때문입니다. 그러나 언리얼은 수시로 버전업이 되는 관계로 엔진 코어 레벨에 변형이나 추가를 하면 매우
위혐해서 과연 풀소스 빌드를 쓰는 사람이 몇이나 될지 궁금합니다만.

언리얼은 유니티와는 달리 엔진에 대한 고수준의 커스터마이징이 필요하고 작동방식이 훨씬 디테일 합니다.
유니티에서는 없는 다양한 코어 프로퍼티와 제어 변수를 제공합니다. 그래서 익숙해지면 편하지만 모르면 많이
당하고 삽질을 수도 없이 해야 하는 단점이 있습니다.


배너



퀵메뉴