C++ 경계

처음에는 엔진 책임과 코드 책임을 나눠서 본다

언리얼 C++는 순수 C++ 코드만 쓰는 흐름이 아닙니다. 엔진이 객체를 생성하고, 에디터가 값을 조정하며, 런타임이 입력과 복제를 처리한다는 경계를 먼저 잡아야 이후 클래스 설계가 흔들리지 않습니다.

lifecycle

객체 생성 주체

엔진이 관리하는 UObject, Actor, Component는 생성자와 BeginPlay, Tick의 역할을 분리해서 읽어야 합니다.

exposure

에디터 노출 대상

디자이너가 조정해야 하는 값은 UPROPERTY로 열고, 내부 규칙은 C++ 함수와 private 상태로 좁힙니다.

runtime

런타임 변경 책임

입력, 스폰, 충돌, 복제처럼 런타임에서 변하는 책임은 Actor와 Component 경계를 먼저 정합니다.

새 클래스를 만들기 전 질문

월드에 배치되는가: 배치 대상이면 Actor, 기능 조각이면 Component부터 생각합니다.

입력을 받는가: Controller와 Pawn 중 어느 쪽이 책임질지 먼저 구분합니다.

값을 조정해야 하는가: 에디터 노출, 기본값, 런타임 변경 가능성을 나눕니다.

블루프린트가 필요한가: 빠른 검증과 C++ 안정화 사이의 경계를 기록합니다.