Shift + F5 (에디터 연결 종료) → C++ 코드 수정 → Visual Studio에서 빌드 → F5 (에디터 재연결) → 결과 확인
Live Coding 활용 시
에디터를 종료하지 않은 상태에서 C++ 코드를 수정한 뒤, Live Coding으로 변경 사항만 컴파일하여 즉시 에디터에 반영
Live Coding을 사용하면 에디터를 일일이 끄고 켜는 번거로움이 줄어듭니다.
Live Coding 제약사항
간단한 코드 변경: 함수 내부 로직, 변수 값 변경, 로그 출력 변경 등은 Live Coding으로 즉시 반영됩니다.
적용이 안 되는 경우
UCLASS, USTRUCT, UENUM 매크로의 추가·삭제·수정
새로운 C++ 클래스 (.h/.cpp) 생성
엔진 소스 코드 (Engine 폴더 내 코드) 변경
함수 시그니처 (인자, 반환값)나 클래스 상속 구조 변경
이 경우에는 전통적인 빌드 프로세스 (에디터 종료 → Visual Studio 빌드 → 에디터 재실행)가 필요합니다.
Live Coding 기능 활성화
언리얼 에디터 하단의 Live Coding 아이콘 (벽돌 모양) 옆 세로 점 3개(… 메뉴)에서 Enable Live Coding을 체크합니다.
Live Coding 사용 방법
IDE 에서 코드를 수정 후, Ctrl + Shift + S (또는 상단 메뉴에서 File → Save All)로 모든 파일을 저장합니다.
에디터 창 하단에 있는 Live Coding 아이콘을 클릭하거나, 단축키 Ctrl + Alt + F11을 눌러 Live Coding 빌드를 시작합니다.
컴파일이 완료되면 Live Coding 창에 “Finished” 메시지가 뜨고, 에디터가 즉시 수정된 로직을 반영합니다.
언리얼 에디터 Live Coding 사용시 주의 사항
Live Coding Shortcut: Ctrl + Alt + F11을 통한 런타임 컴파일
라이브 코딩으로 100% 잘 작동하는 작업
.cpp 파일 내부의 로직 수정: 함수 내부의 연산 공식, if문 조건, 단순 알고리즘 변경 등은 에디터를 켜둔 채로 완벽하게 반영됩니다.
UE_LOG 및 PrintString 추가/수정: 디버깅용 로그 출력을 추가하거나 메시지를 변경하는 작업은 라이브 코딩이 가장 빛을 발하는 순간입니다.
주의해서 사용해야 하는 작업 (간혹 버그 발생)
.h 파일(헤더)에 새로운 변수나 함수 추가: 언리얼 리플렉션 시스템(UPROPERTY, UFUNCTION) 매크로가 붙은 새 변수/함수를 추가하면 라이브 코딩이 인식은 하지만, 간혹 메모리 재인스턴싱 과정에서 기존 블루프린트의 기본값(CDO)이 꼬이거나 에디터가 크래시 날 수 있습니다.
상속 구조 변경: 부모 클래스를 바꾸는 등의 구조적 변경은 라이브 코딩으로 처리하지 않는 것이 안전합니다.
절대로 라이브 코딩을 쓰면 안 되는 작업 (에디터 재시작 필요)
C++ 클래스의 생성자(Constructor) 수정: 컴포넌트를 새로 생성(CreateDefaultSubobject)하거나 기본 할당 값을 바꾸는 것은 에디터가 처음 켜질 때 딱 한 번 로드되는 CDO(Class Default Object) 영역이라 라이브 코딩이 소급 적용하지 못합니다.
새로운 C++ 클래스 파일 추가: 파일 자체가 디스크에 생성되는 작업은 IDE를 통해 전체 빌드를 하거나 에디터를 껐다 켜야 완전히 인식됩니다.
UE 5.7 개발자를 위한 라이브 코딩 권장 워크플로우
기능 구현 단계: .cpp 파일 내부 로직이나 디버그 로그를 수정할 때는 Rider나 에디터에서 Ctrl + Alt + F11로 라이브 코딩을 적극 활용해 시간을 아낍니다.
헤더/생성자 수정 단계: 변수를 새로 만들거나, 컴포넌트를 붙이거나, 생성자를 건드렸다면 에디터를 완전히 종료하고 Rider에서 F5(디버그 시작)를 눌러 새로 컴파일하여 에디터를 띄우는 버릇을 들이는 것이 좋습니다.
작업 세션 종료 시: 라이브 코딩으로 빌드된 결과물은 임시 메모리 패치 형태이므로, 하루 작업을 마칠 때는 에디터를 끄고 IDE(Rider)에서 한 번 전체 빌드(Build Solution)를 돌려 정식 바이너리(.dll)를 확정해 주는 것이 다음 날 에러를 방지하는 팁입니다.