본문으로 건너뛰기

Live Coding

Summary

Live Coding은 에디터를 닫지 않고 C++ 바이너리를 다시 패치하는 반복 작업 기능이다. 빠른 실험에는 강력하지만, 모든 변경을 안전하게 반영하는 만능 기능은 아니다.

포함된 공식 주제

  • Live Coding

When You Use This

Tick, 일반 함수 본문, 계산 로직처럼 런타임 구현을 자주 바꾸는 구간을 빠르게 확인하고 싶을 때 쓴다.

Core Concept

Live Coding은 전체 재시작 없이 변경된 코드를 패치해 준다. 그래서 게임플레이 로직, UI 반응, 계산식 수정에는 매우 빠르다. 반면 헤더 구조 변경, UCLASS/UPROPERTY/UFUNCTION 매크로 변경, 생성자에서 기본 서브오브젝트 구성을 바꾸는 일은 전체 재컴파일과 에디터 재시작이 더 안전하다.

Example

void AMyActor::Tick(float DeltaTime)
{
Super::Tick(DeltaTime);
CurrentAngle += DeltaTime * RotationSpeed;
}

Explanation

이런 식의 함수 본문 수정은 Live Coding으로 확인하기 좋다. 반대로 프로퍼티를 새로 추가해 디테일 패널 노출까지 검증해야 한다면 UHT가 다시 도는 전체 빌드 흐름으로 생각해야 한다.

Common Mistakes

  • 리플렉션이 관여하는 구조 변경까지 Live Coding만으로 해결하려고 한다.
  • 너무 많은 모듈을 프리로드해서 에디터 시작 시간을 불필요하게 늘린다.