Debugging Unreal Engine Projects: Lightning Round | Unreal Fest Bali 2025
- 언리얼 엔진 디버깅은
Print String을 넘어 다양한 내장 도구를 활용해야 합니다. 🚀
Print String은 UE5에서 키(Key)를 지정하여 화면 스팸을 줄이고, Format Text 노드로 문자열 포맷팅을 간편하게 할 수 있습니다. 📝
- UE5에서 추가된
Print Text 노드는 텍스트를 문자열로 변환할 필요 없이 바로 출력하며, UE5.6의 Raise Script Error는 블루프린트에서 메시지 로그에 오류를 생성합니다. 🚨
- C++
UE_LOG 사용 시 LogTemp로 임시 로깅이 가능하고, CLog로 조건부 로깅을 할 수 있으며, 문자열 매크로에 함수 반환값을 넣을 때는 *를 붙여야 합니다. 💡
- 콘솔 명령은 에디터 내에서
Stat 명령 자동 완성을 지원하고, Stat None으로 모든 통계를 지울 수 있으며, Stat Unit에 렌더 해상도가 추가되었습니다. 🎮
Help 명령으로 프로젝트의 모든 콘솔 명령을 검색 가능한 웹 페이지로 생성하고, [콘솔변수] ?로 특정 변수의 도움말 및 설정 이력을 확인할 수 있습니다. ❓
DumpCVar로 모든 콘솔 변수 값을 덤프하거나 CSV로 내보낼 수 있으며, ABTest로 두 콘솔 변수 값을 쉽게 비교 테스트할 수 있습니다. 📊
SlowMo 명령으로 게임 속도를 조절하여 빠르게 움직이는 애니메이션이나 게임플레이를 디버깅할 수 있습니다. 🐢💨
BugIt 명령으로 현재 카메라 위치/회전을 저장하고 BugItGo로 해당 위치로 즉시 이동하여 QA 버그 재현에 유용합니다. 📍
- 언리얼 인사이트의 트레이스 툴바(UE5.2)는 트레이스 스크린샷, 트레이스 후 인사이트 자동 열기, 에디터에서 트레이스 영역 지정 등의 기능을 제공합니다. 🛠️
- 트레이스 영역(UE5.3)은 여러 프레임에 걸친 이벤트를 표시하여 시네마틱이나 보스전 같은 특정 게임 상태를 인사이트 트레이스에 기록하고 분석하는 데 도움을 줍니다. 🗺️
GPU Visualizer는 UE5.6에서 더 이상 사용되지 않으며, GPU Profiler 2.0으로 대체되어 Stat GPU, Insights, 외부 도구의 기능을 통합하고 컴퓨트 워크를 시각화합니다. 📈
Trace.SnapshotFile과 "Open Insights after trace" 기능을 함께 사용하면 이전 GPU Visualizer와 유사한 즉각적인 피드백을 더 깊이 있는 GPU 트레이싱으로 얻을 수 있습니다. 📸
- 오디오 디버깅을 위해
SoloMetaSound, SoloSoundClass 등의 콘솔 명령과 함께, 재생 중이거나 최근 재생된 사운드를 보여주는 Audio Insights (UE5.6)를 활용할 수 있습니다. 👂
- 애니메이션 디버깅을 위한
Rewind Debugger는 에디터 내에서 애니메이션 상태를 기록, 스크러빙, 재생하여 상세 분석을 가능하게 합니다. ⏪
- 메모리 디버깅에는
Statistics Panel (텍스처, 프리미티브 통계)과 Size Map (선택된 에셋이 하드 참조하는 모든 것 표시, 반드시 "Memory Size"로 전환)이 유용합니다. 🧠