현재 레벨이 사라지면 같이 사라져도 되는가?
레벨 전용 연출은 가까이, 반복되는 규칙은 C++로
선택 기준은 편한 도구가 아니라 수명, 재사용성, 성능 민감도, 협업 비용이다. 레벨 블루프린트와 C++는 경쟁보다 역할 분리로 본다.
맵에 박힌 사건이면 가까운 Level Blueprint에 두고, 이름 붙은 규칙이 반복되거나 Tick 비용이 보이면 C++ 컴포넌트로 승격한다.
문 열림, 컷신, 배치 액터 연결처럼 맵에 고정된다.
체력, 상호작용, 무기, 이동처럼 인스턴스가 바뀌어도 규칙이 같다.
두 번째 레벨에 붙여 넣는 순간 컴포넌트 후보로 본다.
디자이너 반복인지, 코드 리뷰가 필요한 규칙인지 묻는다.
아티스트가 트리거, 사운드, 카메라 타이밍을 빠르게 조정한다.
리뷰, 병합, 리팩터링, 자동화 검증이 필요한 기반 로직이다.
안정적인 함수와 속성을 C++로 열고, 레벨별 값은 블루프린트에서 조절한다.
Tick, 충돌, 대량 반복에서 호출 빈도를 먼저 본다.
BeginPlay, Trigger overlap, Sequencer 재생처럼 낮은 빈도에 맞다.
매 프레임 계산, AI 판단, 물리 보조처럼 비용이 커지면 코드로 내린다.
노드 그래프가 길어지면 타이머, 이벤트, C++ 함수로 압축한다.
레벨에 배치된 액터 참조가 핵심일 때
고정 문, 엘리베이터, 퍼즐 순서, 컷신처럼 맵의 구체적 배치가 로직의 일부라면 가까운 곳에 둔다.
규칙 이름이 붙고 여러 액터가 공유할 때
Interactable, Health, Weapon, Inventory처럼 기능 단위 이름이 생기면 클래스나 컴포넌트가 맞다.
C++는 기반 API, Blueprint는 콘텐츠 연결
성능과 구조는 코드가 책임지고, 디자이너가 바꿀 타이밍과 레퍼런스는 블루프린트가 맡는다.
코드로 틀을 만들고 레벨에서 연결한다
이 흐름을 쓰면 재사용 가능한 규칙은 텍스트 코드로 관리하고, 레벨별 연출과 참조 연결은 빠르게 반복할 수 있다.