`.uplugin`은 어떤 모듈을 언제 불러올지 설명하고, `Source` 아래의 Public, Private, Build.cs는 코드 경계와 종속성을 고정합니다.
다른 코드가 include할 수 있는 타입과 인터페이스만 둡니다.
내부 클래스, 헬퍼, 실제 로직은 여기서 변경 가능하게 유지합니다.
`Core`, `Engine`, `UMG`, `Slate` 같은 모듈 의존성을 선언합니다.
마켓플레이스 배포나 에디터 표시용 리소스를 분리합니다.
게임 빌드에 에디터 전용 코드가 섞이면 패키징 문제가 생깁니다.
노출 범위가 넓을수록 컴파일 의존성과 변경 비용이 커집니다.
플러그인의 장점은 업그레이드 충돌을 줄이는 데 있습니다.