Logic placement

레벨 전용은 Blueprint, 재사용 시스템은 C++에 둔다

구현 위치는 문법 취향이 아니라 수명, 재사용 범위, 성능 민감도, 수정 담당자를 나누는 설계 결정이다. C++는 기반을 만들고 Blueprint는 레벨별 배치와 조정값을 맡는다.

Scope 수명 범위 한 레벨에 묶이는지 여러 레벨에서 반복되는지 먼저 본다.
Reuse 재사용성 공유 규칙과 성능 비용은 C++ 클래스나 컴포넌트로 뺀다.
Handoff 노출 접점 UPROPERTY와 UFUNCTION으로 디자이너 조정면을 남긴다.

구현 위치를 고르는 질문 지도

decision route-map
한 레벨만 쓰는가 문, 컷신, 퍼즐처럼 맵에 묶인 연출인지 확인한다.
여러 액터가 공유하는가 컴포넌트나 기반 클래스로 분리할 만큼 반복되는지 본다.
프레임마다 도는가 Tick, 물리, AI처럼 성능과 예측 가능성이 중요한가를 본다.
디자이너가 조정하는가 값과 이벤트만 바꾸면 되는지, 규칙 자체가 바뀌는지 나눈다.
Level Blueprint 레벨에 붙은 배치와 연출

특정 맵의 문, 컷신, 트리거, 퍼즐처럼 레벨 수명과 함께 사라지는 연결을 빠르게 조립한다.

C++ Class 프로젝트 전역의 규칙과 시스템

이동, 전투, 인벤토리, 상호작용 컴포넌트처럼 재사용되고 성능이 중요한 기반 로직을 맡는다.

비교 매트릭스

placement matrix
수명 Level Blueprint는 현재 레벨 로드와 함께 살아난다. C++ 클래스는 여러 레벨과 액터 인스턴스에 재사용된다.
변경 속도 배치 액터 참조와 이벤트 순서를 빠르게 바꿀 수 있다. 컴파일이 필요하지만 구조와 테스트 기준을 고정하기 좋다.
성능 간단한 연출과 트리거에는 충분하지만 반복 계산에는 약하다. Tick, 물리, 대량 반복, 복잡한 계산을 안정적으로 처리한다.
협업 디자이너가 레벨별 타이밍과 값을 조정하기 쉽다. 텍스트 기반 버전 관리와 코드 리뷰에 더 적합하다.

실무 기본 연결

C++ base, Blueprint tune
01 C++로 규칙 고정 AActor, UActorComponent, 데이터 구조로 재사용 가능한 기반을 만든다.
02 노출면 설계 UPROPERTY UFUNCTION
03 Blueprint로 값 조정 레벨별 배치, 연출 타이밍, 디자이너 조정값을 안전하게 바꾼다.
04 반복되면 다시 C++ 여러 레벨에서 복사되는 그래프는 컴포넌트나 기반 클래스로 회수한다.
복사 증가 레벨마다 같은 그래프

같은 노드를 여러 맵에 복사하면 C++ 컴포넌트로 옮길 신호다.

반복 계산 Tick과 물리 부담

프레임마다 도는 계산은 C++에서 비용을 통제한다.

노출 부족 디자이너가 코드를 만짐

조정값은 UPROPERTY로 빼고 규칙은 C++에 남긴다.

기억할 점 둘 중 하나만 고르지 않는다

기반은 C++, 레벨 연결과 값 조정은 Blueprint로 나누는 것이 기본이다.

검증 질문

구현 위치는 한 레벨에 묶이는 변화와 프로젝트 공통 규칙의 책임을 분리했는지로 점검한다.