모듈명.uproject 파일에는 어떤 모듈을 함께 로딩할것인지?
사용하려는 엔진 버젼은 어떤것인지? 등이 JSON 형식으로 작성되어 있다.
게임 프로젝트의 설정 값을 보관하는 공간이다. 이 폴더를 제거하면 게임 프로젝트의 중요한 설정 정보가 날아가므로 항상 보관해야 한다.
프로젝트의 리소스를 모아놓은 폴더.
게임 프로젝트에 사용하는 에셋을 관리하는 공간이다. 항상 보관해야 한다.
C++ 프로젝트를 관리하기 위한 비주얼 스튜디오의 솔루션 파일.
언리얼 빌드툴 이 생성한다
솔루션이 관리하는 각 프로젝트 파일은 Intermediate 폴더 내 ProjectFiles 폴더에 있다.
프로젝트 파일과 솔루션 파일은 삭제하더라도 uproject 파일을 우클릭해 뜨는
Generate Visual Studio project file 메뉴를 선택하면 언제든지 재생성 할 수 있다.
Unreal Engine 프로젝트는 크게 두가지로 나눌 수 있다.
프로젝트에 사용되는 플러그인들을 저장하는 공간
...
c++ 이 컴파일된 결과물을 모듈이라고 한다. 언리얼 엔진에서 제공하는 Engine 소스도 모듈로서 존재하고 우리가 만든 프로젝트의 c++ 소스파일도 결국 우리 프로젝트 이름의 모듈로서 출력된다. 플러그인 또한 하나의 모듈이며, 만약 우리 프로젝트 모듈에서 언리얼엔진에서 제공하는 모듈 또는 플러그인 모듈내부 클래스나 함수를 사용하기 위해서는 우리 프로젝트의 모듈에서 다른 모듈을 사용하도록 설정해주면 된다. 우선 사용하고자 하는 모듈 내부에서, 다른 모듈에서 클래스를 참조할수 있도록 설정해주어야 하며 그것은 클래스 선언시, 클래스명 앞에 모듈명_API 매크로를 붙여주는 것이다. 이 매크로를 붙여주어야 다른 모듈에서 해당 클래스를 참조할 수 있는것이다.
UCLASS()
class 모듈명_API ModuleClassName{
GENERATED_BODY()
public:
...
}
// Fill out your copyright notice in the Description page of Project Settings.
using UnrealBuildTool;
public class Characters : ModuleRules
{
public Characters(ReadOnlyTargetRules Target) : base(Target)
{
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine" , /* 이곳에 추가하고자 하는 모듈명을 적어준다 */});
PrivateDependencyModuleNames.AddRange(new string[] { });
// Uncomment if you are using Slate UI
// PrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" });
// Uncomment if you are using online features
// PrivateDependencyModuleNames.Add("OnlineSubsystem");
// To include OnlineSubsystemSteam, add it to the plugins section in your uproject file with the Enabled attribute set to true
}
}
C++ 코드가 위치한 공간.
C++ 코드 이외에도 언리얼 엔진의 독특한 빌드설정을 담은 C# 소스 파일이 있다.
다른 프로젝트의 소스파일을 활용하고 싶을때 해당 프로젝트의 Source 폴더에 붙여넣기 한다면 사용이 가능합니다. 이때 몇가지 수정이 필요합니다. Source 폴더에 소스코드 파일을 붙여넣었다면 에디터 내부에서 Tools.Refresh Visual Studio #### Project 버튼을 눌러 폴터 내부에 들어있는 소스파일을 분석해서 내부 구성을 변경해 줍니다.
또한 소스폴더 내부에서 MODULENAME_API 를 해당 프로젝트의 MODULENAME_API 로 변경해줍니다.
C++ 코드가 컴파일 된 결과물(.dll) 을 저장하는 공간. 삭제해도 새로 생성된다
UE5Editor-{모듈명}.dll
내부에는 dll 파일이 있는데, 이는 Source 폴더내 C++ 코드를 컴파일한 결과물을 모듈이라고 하며 이 모듈이 dll 형태로 출력된 것이다.
프로젝트 관리에 필요한 임시 파일들을 저장하는 공간이다. 이 폴더는 제거해도 에디터에 의해 자동으로 재생성 된다.
에디터 작업중에 생성된 결과물을 저장하는 공간이다.
예를 들어 세이브 파일, 스크린샷은 모두 이곳에 저장된다.
이 폴더를 제거하면 수동으로 저장한 세이브 파일이나 스크린샷 등이 삭제될 수 있지만 게임 프로젝트에는 영향을 주지 않는다.