팀 프로젝트를 시작하기 전에 초기 설정 세부 사항 기록

코드 컨벤션

  • 파스칼 표기법 사용
  • bool 값은 b 접두사 사용
    예: bJump
  • 중괄호는 개행해서 사용

Struct와 Enum

  • Struct, Enum은 각 폴더에서 생성
  • 하나의 헤더에는 하나의 Struct, Enum만 작성
  • Struct는 생성 시 접미사로 Struct를 붙이기
  • Enum은 생성 시 접미사로 Enum을 붙이기
  • 생성하는 모든 클래스는 FT 접두사 사용
    예: FTPlayerController
USTRUCT(BlueprintType)
struct FTDamageInfoStruct
{
    GENERATED_BODY()
};

UENUM(BlueprintType)
enum class EWeaponTypeEnum : uint8
{
    Sword,
    Bow
};

파일 디렉토리

  • 디렉토리를 생성해서 코드 파일 정리
  • 디렉토리 이름은 그 안의 코드 파일을 대표할 수 있는 이름 사용

플레이어 관련 클래스면 Player, 전투면 Combat, UI면 UI처럼 역할 중심으로 묶기

에디터 디렉토리

  • Level
  • Assets
  • Fab
  • Blueprints
  • Materials
  • Textures
  • UI
  • Input

저장소 운영

이전에 Unreal 프로젝트에서 Git LFS 용량을 빠르게 써버린 경험이 있어서, 플랜 B를 뒀다.

  • 우선 Git 사용
  • Git LFS 용량 문제를 다시 밟으면 Gitea로 migration

기획과 일정 공유

코드만 맞춘다고 협업이 되는 건 아니어서, 기획과 일정 공유 도구도 같이 정리했다.

  • Miro로 기획 평가와 피드백 정리
    • Miro는 화면 단위 아이디어, 기획 단위 단체 피드백
  • Notion으로 개인 일정 공유
  • Notion으로 작업 진행도 공유
    • Notion은 누가 뭘 맡았는지, 언제까지 진행하는지 추적

GameplayMessageSubsystem

Lyra에서 쓰는 GameplayMessageSubsystem도 사용을 고려하는 중이다.
팀원들에게 설명할 수 있도록 내용을 숙지하자.

GameplayMessageSubsystem 같은 구조를 쓰면

  • 누가 이벤트를 발행하는지
  • 누가 구독해서 반응하는지
    이걸 Delegate 없이 사용한다.

'TIL' 카테고리의 다른 글

Unreal EQS(Environment Query System)  (0) 2026.06.08
Unreal Engine AI Controller  (0) 2026.06.05
Unreal Component  (0) 2026.06.02
TEXT RPG(DIABL5) 발표하며 회고...  (0) 2026.05.29
C++ 프로그램에서 Cloudflare Worker로 R2에 GET, POST 하기  (0) 2026.05.28