언리얼 엔진으로 작업하다 보면 엔진 코드 디버깅이 필요할 수 있다.
여기서 말하는 디버깅의 범위는 코드 중단점을 걸어 한 줄씩 진행 및 변수(객체)의 값을 확인하는 기능 등을 말한다.
엔진코드를 디버깅 하려면 빌드 구성을 Debug [...]로 빌드해야 하지만 에픽런처에서 설치한 엔진의 경우 빌드 구성에서 Debug [...]를 선택할 수 없다. 가장 최적화가 많이 꺼진 DebugGame으로 빌드해도 엔진 코드는 최적화되어 디버깅할 수없다.
이유는 에픽런처에에서 디버깅 심볼을 설치하더라도 엔진코드는 Development로 빌드되어 있기 때문이다.
따라서 엔진 코드를 디버깅 하려면 깃 허브에서 엔진 코드를 직접 받고 Debug로 빌드해야 한다.
관련된 자세한 사항은 언리얼 공식 문서 참고.
https://dev.epicgames.com/documentation/ko-kr/unreal-engine/downloading-source-code-in-unreal-engine
엔진 코드 디버깅 방법
- 언리얼 깃허브에서 원하는 버전의 코드를 받기
- 엔진 코드 github: https://github.com/EpicGames/UnrealEngine
- Code 다운로드 또는 Fork. (가급적 Fork 후 엔진 코드 형상관리 하는 방향을 추천. 엔진 코드 수정시 추적을 위함)
- 코드를 받은 후 아래의 순서대로 프로젝트를 세팅
- Setup.bat 실행 -> 프로젝트 초기 세팅
- GenerateProjectFiles.bat 실행 -> 프로젝트 파일(sln) 생성
- UE5.sln 실행
- 엔진 코드 Debug Editor로 빌드 (PC 사양에 따라 30분 ~ 1시간 이상 소요됨)
- 실행된 에디터로 프로젝트 생성 및 기존 프로젝트를 선택 후 빌드된 엔진 버전으로 마이그레이션.
- 마이그레이션시 엔진 버전에 차이가 크지 않다면 없다면 기존 프로젝트를 선택만 하면 알아서 마이그레이션됨.
- 엔진 버전의 차이가 크다면 마이그레이션 방법 참고: https://dev.epicgames.com/documentation/ko-kr/unreal-engine/unreal-engine-5-migration-guide
- 생성 혹은 마이그레이션 된 프로젝트 실행 후 Debug Editor로 빌드.
(참고. 이후 프로젝트에서 빌드 구성을 변경할 경우(DebugGame, Development 등) 필요시에 자동으로 엔진 빌드도 함께 진행됨.)
이렇게 할 경우 엔진코드를 직접 수정해서 테스트해보는 것도 가능하다. 엔진 기능 추가 및 수정도 가능하고 간단하게 로그를 찍어서 디버깅할 때도 유용하게 사용할 수 있으니, 코드 작업을 위해서는 언리얼 엔진을 런처보다 깃허브에서 받아서 사용하는 것이 좋다.