티스토리 뷰
🟩 오늘의 목표
- 언리얼 엔진 5.5 및 Visual Studio 2022 개발 환경을 완벽히 구축한다.
- 프로젝트의 물리적/논리적 폴더 구조와 빌드 구성의 차이를 이해한다.
- 리소스 마이그레이션 방법과 UObject vs AActor의 개념을 파악한다.
- C++ 클래스의 생성 및 안전한 삭제 절차를 숙지하여 빌드 에러를 방지한다.
🟧 1. 개발 환경 셋업 및 프로젝트 생성
🟦 엔진 및 툴 설치
언리얼 엔진 5.5 버전 이상과 Visual Studio 2022(17.8 이상)를 설치했다. 특히 VS Installer에서 'C++를 사용한 데스크톱 개발'과 'C++를 사용한 게임 개발' 워크로드가 포함되어야 정상적인 엔진 빌드가 가능함을 확인했다.
🟦 프로젝트 생성 시 주의사항
SpartaProject라는 이름의 C++ Blank 프로젝트를 생성했다. 프로젝트 경로에 한글, 특수문자, 공백이 포함되면 빌드 시 치명적인 에러가 발생할 수 있으므로, 반드시 영문으로만 구성된 경로를 사용하는 습관을 들였다.
🟧 2. 프로젝트 구조 및 리소스 관리
🟦 폴더 구조의 이해
- Source: 실제 게임 로직을 작성하는 핵심 .cpp, .h 파일이 저장되는 곳이다.
- Content: 게임 내 모든 에셋(블루프린트, 모델, 사운드 등)이 들어있으며 에디터의 Content Browser와 동기화된다.
- Binaries/Intermediate: 빌드 결과물과 임시 파일이 저장된다. 빌드 오류 시 이 폴더들을 삭제하고 재생성(Generate)하는 것이 복구의 핵심임을 배웠다.
🟦 리소스 마이그레이션(Migrate)
외부 프로젝트의 리소스를 가져올 때 Migrate 기능을 활용했다. 이는 선택한 에셋이 참조하는 모든 종속 파일을 엔진이 추적하여 누락 없이 복사해 주는 안전한 방법임을 익혔다.
🟧 3. UObject와 AActor의 개념 비교
🟦 UObject (오브젝트)
언리얼 엔진의 최상위 부모 클래스로, 스스로 월드에 배치될 수 없다. 주로 데이터 저장이나 논리적인 계산 로직을 담당하는 용도로 사용된다.
🟦 AActor (액터)
UObject를 상속받아 월드에 배치(Spawn)가 가능한 클래스다. 위치, 회전, 크기(Transform) 정보를 가지며, 실제 게임 세계에서 눈에 보이고 상호작용하는 모든 물체의 기본 단위가 된다.
🟧 4. C++ 클래스의 생성과 안전한 삭제
🟦 클래스 생성 (Public/Private)
Item 클래스를 생성하며 Public 방식을 선택했다. 헤더 파일은 Public 폴더에, 소스 파일은 Private 폴더에 저장되어 다른 모듈에서도 접근하기 용이한 구조를 갖추게 되었다.
🟦 안전한 삭제 프로토콜
단순히 파일만 지우면 솔루션 구조가 꼬여 빌드 에러가 발생한다. 반드시 아래의 안전 삭제 4단계를 준수해야 함을 실습했다.
| 안전 삭제 프로토콜 |
| 1. 언리얼 에디터 종료 |
| 2. Visual Studio 솔루션 탐색기에서 해당 파일 Remove |
| 3. 윈도우 탐색기에서 실제 파일(.h, .cpp) 물리적 삭제 |
| 4. Visual Studio 재빌드 후 에디터 재실행 |
🟫 오늘 느낀 점
단순히 코드를 짜는 것보다 언리얼이라는 거대한 엔진 시스템이 소스 코드와 에셋을 어떻게 연결하고 관리하는지 이해하는 것이 우선임을 느꼈다. 특히 클래스 삭제 절차처럼 사소해 보이는 규칙이 프로젝트 전체의 안정성을 결정한다는 점을 깊이 체감했다.
'내일배움캠프 Unreal_7기 > 본캠프' 카테고리의 다른 글
| TIL - 31일차 (1) | 2026.01.12 |
|---|---|
| TIL - 30일차 (0) | 2026.01.09 |
| TIL - 28일차 (0) | 2026.01.07 |
| TIL - 27일차 (0) | 2026.01.06 |
| TIL - 26일차 (0) | 2026.01.05 |

