안선생의 개발 블로그
[UE5] 언리얼 라이브 코딩 본문
라이브 코딩
라이브 코딩은 엔진이 실행 중인 동안 애플리케이션의 C++ 코드를 리빌드하고 바이너리를 패치할 수 있는 시스템입니다.
즉 C++에서 컴파일 안하고 실시간으로 코딩하는 방법이다. 라이브 코딩은 게임 개발의 생산성을 향상시키고 개발 시간을 단축하는 데 도움이 됩니다.
라이브 코딩 사용처
- 언리얼 에디터에서 애플리케이션을 편집하는 경우
- 에디터에서 플레이(PIE)로 애플리케이션을 실행하는 경우
- 디버깅 용도로 에디터에 어태치된 애플리케이션의 패키지 데스크톱 빌드를 실행하는 경우
라이브 코딩 기능
- 실시간 코드 수정: 개발자는 게임 실행 중에 코드를 수정하고 이 변경 사항을 즉시 게임에 적용할 수 있습니다.
- 디버깅 및 테스트: 라이브 코딩을 통해 코드 디버깅 및 테스트를 진행하면서 문제를 더 빠르게 해결할 수 있습니다.
- 게임 세션 유지: 라이브 코딩을 사용하면 게임 세션을 유지한 채로 코드 수정을 계속할 수 있으므로 초기 게임 설정을 다시 하지 않아도 됩니다.
- 빠른 반복: 코드 수정 및 테스트 사이클을 단축하여 게임 수정 및 개선을 가속화합니다.
- 라이브 코딩 도구: 언리얼 엔진은 몇 가지 라이브 코딩 도구와 플러그인을 지원하며, 이러한 도구를 통해 라이브 코딩 프로세스를 간소화합니다.
라이브 코딩 사용법
키보드에서 CTRL + ALT + F11 를 누르거나 아래사진의 맨 아래의 오른쪽에 있는 버튼을 누르면 실행된다.
라이브 코딩이 성공하면 오른쪽 아래에
성공했다는 표시가 뜬다.
라이브 코딩 환경설정
에디터 개인설정(Editor Preferences) > 일반(General) > 라이브 코딩(Live Coding) 에서 라이브 코딩 관련 설정을 찾을 수 있습니다.
세팅설명
일반(General) 세팅은 개발 환경에서 라이브 코딩이 작동하는 방식을 제어합니다.
라이브 코딩 활성화(Enable Live Coding) | 활성화하면 라이브 코딩이 언리얼 에디터의 컴파일 방식이 됩니다. 이 기능을 비활성화하면 언리얼 에디터가 핫 리로드를 다시 사용합니다. |
시작(Startup) | 언리얼 에디터가 시작할 때 콘솔의 활성화 또는 가시화 여부를 포함해 라이브 코딩이 작동하는 방식을 제어합니다. |
리인스턴싱 활성화(Enable Reinstancing) | 라이브 코딩이 오브젝트 리인스턴싱을 사용할지 여부를 제어합니다. 활성화하면 코드의 대규모 변경이 적용될 수 있도록 오브젝트의 인스턴스가 대체됩니다. 이 세팅이 꺼져 있으면 이러한 종류의 변경이 불안정해질 수 있으므로 비활성화하지 않는 것이 좋습니다. 자세한 내용은 라이브 코딩으로 오브젝트 리인스턴싱을 확인하세요. |
새로 추가된 C++ 클래스 자동 컴파일(Automatically Compile Newly Added C++ Classes) | 활성화하면 C++ 클래스 추가 시 자동으로 라이브 코딩이 표시되어 C++ 클래스를 컴파일하고 애플리케이션에 추가합니다. |
모듈(Modules) 섹션은 에디터 또는 애플리케이션을 실행할 때 라이브 코딩용으로 어떤 모듈을 미리 로드할지 지정합니다. 이를 통해 모듈에서 반복작업 시 라이브 코딩의 퍼포먼스가 더 빨라지게 할 수 있지만, 더 많은 모듈을 미리 로드로 설정할수록 에디터나 게임이 시작되는 데 더 오랜 시간이 소요됩니다.
옵션설명
엔진 모듈(Engine Modules) | 언리얼 엔진의 소스 코드의 일부인 모듈입니다. |
엔진 플러그인 모듈(Engine Plugin Modules) | 엔진의 설치 디렉터리 내 플러그인과 연결되는 모듈로, Engine/Plugins에 있습니다. |
프로젝트 모듈(Project Modules) | 현재 프로젝트의 소스 코드의 일부인 모듈입니다. 여기에는 주요 모듈뿐만 아니라 소스 디렉터리에서 생성한 추가 모듈도 포함됩니다. |
프로젝트 플러그인 모듈(Project Plugin Modules) | 프로젝트의 디렉터리에 위치한 플러그인에 연결되는 모듈로, (프로젝트 이름)/Plugins에 있습니다. |
이렇게 라이브 코딩을 알아봤는데 개인적으로는 디버그나 간단한 테스트 할 때 아니면 안쓰는거 같다.
주의 라이브 코딩만하고 C++로 컴파일 안해주면 엔진을 다시 켰을 때 라이브 코딩으로 했던 정보는 다 날라가므로 라이브 코딩하고 꼭 C++로 컴파일을 해주도록 합시다.
아래 공식문서에서 더 많은 정보를 보실 수 있습니다.
라이브 코딩
런타임 중에 게임의 바이너리를 리컴파일 및 패치합니다.
docs.unrealengine.com
'언리얼 > 언리얼 C++' 카테고리의 다른 글
[UE5] 인터페이스 (0) | 2023.11.09 |
---|---|
[UE5] C++ 블루프린트 연결하기 (0) | 2023.11.02 |
[UE5] 생성자, BeginPlay,Tick 알아보기 (1) | 2023.10.28 |
[UE5] C++ 클래스 생성하기 (0) | 2023.10.27 |
[UE5] 언리얼 클래스 (0) | 2023.10.26 |