![]() | ![]() |
---|
Binaries
폴더 : 프로젝트를 빌드 했을 때 실행파일, .dll 등 컴파일 관련 파일이 저장Config
폴더 : 프로젝트 설정 파일(.ini)들이 저장, 프로젝트의 전반적인 설정을 정의(키 매핑, 렌더링, 에디터 환경 등)DefaultEditor.ini
: 에디터 환경 설정 (뷰포트, UI 등)DefaultEngine.ini
: 엔진 전반 설정 (렌더링, 네트워킹 등)DefaultGame.ini
: 게임플레이 관련 설정 (게임 모드, 플레이어 컨트롤러 클래스 등)DefaultInput.ini
: 키보드·마우스·패드 등의 기본 입력 바인딩Content
폴더 : 언리얼 좌측 하단에 콘텐츠 브라우저가 있는데 여기 들어가 있는 Asset(모델, 사운드, 머티리얼 등), 블루프린트들이 저장되어 있는 폴더DerivedDatacache
폴더 : 캐시 데이터(엔진이 리소스를 더 빠르게 로드하기 위한) 저장Intermediate
폴더 : 임시 빌드 파일(빌드 과정에서 생성되는 임시 파일과 컴파일 데이터) 저장Saved
폴더 : log, 자동 저장 파일, 크래시 리포트 등 저장Source
폴더 : c++ 소스 코드가 저장됨.vsconfig
파일 : 프로젝트에서 필요한 Visual Studio 설치 구성 요소 및 워크로드를 지정.sln
파일(솔루션 파일) : 언리얼 프로젝트에 대한 C++ 소스 코드와 관련 설정을 포함한 솔루션 구성 정보를 갖는 파일, 언리얼 엔진과 visual studio를 연결.uproject
(언리얼 에디터) : 언리얼 프로젝트의 기본 정보를 포함하며, 언리얼 엔진이 이 파일을 통해 프로젝트를 인식하고 실행언리얼 엔진에서 visual studio를 키게 되면 많은 폴더들을 볼 수 있는데 왜 그러냐면 언리얼 엔진 전체 코드가 같이 올라오기 때문이다
이렇게 엔진의 전체 소스 코드가 올라오면 내부 소스 코드를 직접 수정해서 커스터마이징할 수 있다는 매우 큰 장점이 생김
![]() |
---|
위에서 본 프로젝트 폴더의 구조와 visual studio의 솔루션 구조가 다른데 솔루션 구조는 visual studio가 관리와 빌드를 편하게 하기 위해 가상으로 폴더들을 재구성한 것
Engine
폴더 : Unreal Engine 자체 소스 코드(Unreal Engine core code)를 저장, 엔진을 커스터마이징하고 싶으면 해당 폴더의 소스코드를 수정ThirdParty
폴더 : 외부 라이브러리를 프로젝트에 포함시키기 위한 파일(.Build.cs)과 이 라이브러리와 관련된 자동화 작업을 정의한 파일(.tsp)이 저장Games
폴더 : 게임 개발을 위한 소스코드들을 저장Config
: 프로젝트 폴더의 Config 폴더Source
: 프로젝트 폴더의 Source 폴더.Build.cs
: 빌드 설정이 저장되어 있는 파일, C++ 코드가 언리얼 에디터에서 작동하기 위해 필요한 언리얼 모듈을 추가(Core, CoreUObject, Engine, InputCore 등)Programs
폴더 : 엔진이나 게임프로젝트 이외의 프로그램들(유틸리티, 외부 툴 등)이 저장됨UnrealBuildTool(UBT)
: 언리얼 엔진의 빌드 시스템의 핵심.AutomationTool
: 빌드, 테스트, 패키징, 배포 등을 자동화하여 수행하는 도구Rules
폴더 : 엔진과 각 게임의 빌드 규칙(.Build.cs, .Target.cs 파일)을 저장Visualizers
폴더 : 디버깅 관련 시각화 도구 제공, 디버깅 중 특정 데이터 구조나 객체를 좀 더 쉽게 이해하기 위한 파일 설정들이 담겨있는 폴더기본적으로 언리얼 엔진은 C++파일의 수정을 반영하지 못함
빌드를 할 때 언리얼 에디터를 켜놓고 하면 에러가 발생하는 경우가 있을 수 있음. 언리얼 에디터가 빌드 이후 만들어진 새로운 DLL 파일을 가져오지않고 이전 DLL파일을 그대로 가지고 있어 갱신이 되지 않아 에러로 이어지는 경우가 있음
=> ★ 빌드를 하기 전에 언리얼 에디터 종료하기
위에서 말한 빌드 에러를 피하기 위해 기본적으로
순서로 진행하는 게 일반적이라고 한다
하지만 새로 빌드하고 실행할 때마다 언리얼 에디터를 껐다가 다시 키고 코드 수정하고 다시 껐다가 다시 키고하는 작업이 번거로울 수 있어서 이를 보완하기 위해 만든 기능이 live coding
이 live coding 기능을 키게 되면 언리얼 에디터를 켜놓은 상태에서 visual studio에서 코드를 수정하고 빌드를 하지 않아도 에디터가 변경사항을 인지하고 에디터에서 빌드를 하고 DLL 파일도 갱신을 함
아직 live coding이 가벼운 수정에 대해서만 잘 작동해서 무지성으로 사용하기엔 좀 이르지만 좋은 기능이다
live coding이 적용되지 않는 경우
- UCLASS, USTRUCT, UENUM 매크로의 추가·삭제·수정
- 새로운 C++ 클래스 (.h/.cpp) 생성
- 엔진 코어 영역 수정
- 함수 시그니처 (인자, 반환값)나 클래스 상속 구조 변경
visual studio에서 빌드를 잘하고 에디터를 켰는데 반영이 안되어 있는 경우가 종종 발생(빌드 꼬임 현상). 이 경우 임시 빌드 파일이나 캐시파일에 문제가 생긴 것으로 아래와 같은 형태로 나타남
대부분 아래 과정을 통해 해결 가능
그래도 안되면