← SEARCHABLE ARCHIVE
Unreal Engine · 2026-07-16

Blueprint 프로젝트를 C++로 옮기는 현실적인 경계

로직은 C++, Widget 디자인은 WBP로 유지하기

INTERACTIVE READING MODE →

본 블로그 작성 글들은, 강의를 목표로 하고 제작되었습니다. 또한 작성된 글의 정보도 틀렸을 수 있으니, 주의해주세요.

Blueprint 프로젝트를 C++로 옮긴다고 할 때 모든 .uasset을 없애는 것을 목표로 잡기 쉽다. 하지만 게임 로직과 UI 레이아웃은 옮기는 비용이 다르다.

C++로 옮기기 좋은 부분

  • 저장과 불러오기 규칙
  • 전투와 이동 검증
  • 데이터 가공과 공통 함수
  • Delegate 연결
  • Subsystem과 프레임워크 클래스
  • 여러 Blueprint에서 복사된 로직

ProjectDT에서는 정답 처리 뒤 부수 효과를 UDTUISubsystem::ProcessSolvedProblem()으로 모았다. ProjectTB에서는 구매, 장착, 배치 검증을 C++ 함수가 담당한다.

WBP에 남기는 편이 좋은 부분

  • Widget Tree의 배치
  • 디자이너가 자주 바꾸는 크기와 색
  • Widget Animation
  • 이미지와 Font 같은 표현 자산
  • 레벨에 배치한 시각 요소

이 부분까지 C++로 옮기려면 WidgetTree를 코드로 만들거나 Slate를 작성해야 한다. 가능은 하지만 수정 속도와 디자이너 작업성이 크게 달라진다.

Public과 Private 폴더를 정리한다

ProjectDT는 외부에 노출할 Header를 Public, 구현 CPP를 Private로 재배치했다.

Source/ProjectDT/
├─ Public/
│  ├─ System/
│  └─ Investigate/
└─ Private/
   ├─ System/
   └─ Investigate/

모듈 외부에서 사용할 계약만 Public에 두면 Include 관계가 분명해진다. 내부 구현용 Header까지 무조건 Public에 둘 필요는 없다.

Blueprint에서 C++로의 이동은 전부 아니면 전무가 아니다. 규칙과 상태는 C++로 모으고, WBP는 디자인 Shell로 유지하는 경계가 대부분의 프로젝트에서 현실적이다.