티스토리 뷰

언리얼에서는 경로에 대한 편리한 함수들을 제공하는 FPath 클래스가 있습니다. 이 클래스에서 제공하는 정적 함수들을 통해서 엔진/프로젝트 디렉토리의 특정 위치에 대한 경로를 FString 형태로 받아볼 수 있고, 이외에도 경로와 관련된 문자열에 대한 편리한 기능(디렉토리 부분만 제거, 확장자 추출 등)들을 제공합니다. 언리얼 엔진 공식 API 문서에서는 다음과 같이 정의되어 있습니다:

게임 디렉토리, 엔진 디렉토리 등을 검색하는 경로 헬퍼

이러한 함수들은 언리얼에서 공식적으로 제공하는 API에서 간략한 설명을 볼 수는 있지만, 그것이 결과적으로 무엇을 출력하는지에 대하여 기술되어 있지 않기 떄문에 편리하게 참조하여 사용할 수 있도록 정리하고자 합니다.

 

 

경로


RootDir : 엔진 디렉토리 트리의 루트 디렉토리를 반환합니다.

static FString FPaths::RootDir()

결과 : C:/Program Files (x86)/~Game/Epic Games/UE_4.21/

엔진 경로가 다른 이유는 제가 처음 엔진을 설치할 때 잘못 경로를 지정하고 설치했기 때문에 발생한 것이며, 원래의 경우 x86이 아닌 Program Files/Epic Games/.. 으로 이어집니다.

 


EngineDir : 여러 게임에서 또는 게임 및 모드에서 공유할 수 있는 "핵심" 엔진의 기본 디렉토리를 반환합니다.

static FString FPaths::EngineDir()

결과 : ../../../Engine/ (상대 경로)

결과가 상대 경로로 표시되어 있어 전체 경로를 확인할 수 없습니다. 이러한 경우, FPaths에서 제공하는 FPaths::ConvertRelativePathToFull 함수를 사용하여 전체 경로를 표시할 수 있습니다.

 UE_LOG(LogClass, Log, TEXT("FullPath for EngineDir() : %s"), *FPaths::ConverRelativePathToFull(*FPaths::EngineDir()));

결과 : C:/Program Files (x86)/~Game/Epic Games/UE_4.21/Engine/ (절대 경로)

 


EngineConfigDir : 루트 Config 파일이 위치하는 디렉토리를 반환합니다.

static FString FPaths::EngineConfigDir()

결과 : ../../../Engine/Config/
절대 : C:/Program Files (x86)/~Game/Epic Games/UE_4.21/Engine/Config/


EngineIntermediateDir : 엔진의 IntermediateDir 디렉토리를 반환합니다.

static FString FPaths::EngineIntermediateDir()

결과 : ../../../Engine/IntermediateDir/
절대 : C:/Program Files (x86)/~Game/Epic Games/UE_4.21/Engine/IntermediateDir/

 


EngineContentDir : 엔진의 Content 디렉토리를 반환합니다.

static FString FPaths::EngienContentDir()

결과 : ../../../Engine/Content/
절대 : C:/Program Files (x86)/~Game/Epic Games/UE_4.21/Engine/Content/

 


EngineSavedDir : 엔진의 Saved 디렉토리를 반환합니다.

static FString FPaths::EngineSavedDir()

결과 : ../../../Engine/Saved/
절대 : C:/Program Files (x86)/~Game/Epic Games/UE_4.21/Engine/Saved/

 


EngineSourceDir : 엔진의 Source 디렉토리를 반환합니다.

static FString FPaths::EngineSourceDir()

결과 : ../../../Engine/Source/
절대 : C:/Program Files (x86)/~Game/Epic Games/UE_4.21/Engine/Source/

 


EnginePluginsDir : 엔진의 Plugins 디렉토리를 반환합니다.

static FString FPaths::EnginePluginsDir()

결과 : ../../../Engine/Plugins/
절대 : C:/Program Files (x86)/~Game/Epic Games/UE_4.21/Engine/Plugins/

 


LaunchDir : 응용 프로그램이 시작될 위치를 반환합니다 (커맨드라인 유틸리티에 유용합니다)

static FString FPaths::LuanchDir()

결과 : C:/Program Files (x86)/~Game/Epic Games/UE_4.21/Engine/Binaries/Win64/

 


FeaturePackDir : FeaturePack이 보관되는 디렉토리를 반환합니다.

static FString FPaths::FeaturePackDir()

결과 : C:/Program Files (x86)/~Game/Epic Games/UE_4.21/FeaturePacks/

 


EnterpriseDir : 엔터프라이즈 기렉토리의 기본 디렉토리를 반환합니다.

static FString FPaths::EnterpriseDir()

결과 : C:/Program Files (x86)/~Game/Epic Games/UE_4.21/Enterprise/

 


EnterprisePluginsDir : Enterprise Plugins 디렉토리를 반환합니다.

static FString FPaths::EnterprisePluginsDir()

결과 :C:/Program Files (x86)/~Game/Epic Games/UE_4.21/Enterprise/Plugins/

 


EnterpriseFeaturePackDir : Enterprise Feature Pack 디렉토리를 반환합니다.

static FString FPaths::EnterpriseFeaturePackDir()

결과 : C:/Program Files (x86)/~Game/Epic Games/UE_4.21/Enterprise/FeaturePacks/

 


EngineUserDir : 사용자별 엔진 파일의 루트 디렉토리를 반환합니다. 항상 쓸 수(writable) 있습니다

static FString FPaths::EngineUserDir()

결과 : C:/Users/(사용자이름)/AppData/Local/UnrealEngine/4.21/

 


EngineVersionAgnosticUserDir : 버전간에 공유할 수 있는 사용자별 엔진 파일의 루트 디렉토리를 반환합니다.

static FString FPaths::EngineVersionAgnosticUserDir()

결과 : C:/Users/(사용자이름)/AppData/Local/UnrealEngine/Common/

 


GameAgnosticSavedDir : 게임과 관련이 없는 Saved 디렉토리를 반환합니다.

static FString FPaths::GameAgnosticSavedDir()

결과 : C:/Users/(사용자이름)/AppData/Local/UnrealEngine/4.21/Saved/

 


ShaderWorkingDir : ShaderWorkingDir 디렉토리를 반환합니다. 쉐이더 컴파일과 관련된 디렉토리입니다.

static FString FPaths::ShaderWorkingDir()

결과 : C:/Users/(사용자이름)/AppData/Local/Temp/UnrealShaderWorkingDir/

 


ProjectDir : FApp::GetProjectName()을 보고 현재 프로젝트의 기본 디렉토리를 반환합니다.

static FString FPaths::ProjectDir()

결과 : ../../../../../../../../Users/(사용자명)/Desktop/General/Project/Prototype/(언리얼 프로젝트명)/
위 경로는 제 언리얼 프로젝트가 설치되어 있는 경로를 의미합니다. 절대 경로는 따로 생략하도록 하겠습니다.  

 


ProjectUserDir : 사용자 별 게임 파일의 루트 디렉토리를 반환합니다.

static FString FPaths::ProjectUserDir()

결과 :../../../../../../../../Users/(사용자명)/Desktop/General/Project/Prototype/(언리얼 프로젝트명)/

 


ProjectConfigDir : 루트 구성 파일이 위치한 디렉토리를 반환합니다.

static FString FPaths::ProjectConfigDir()

결과 : ../../../../../../../../Users/(사용자명)/Desktop/General/Project/Prototype/(언리얼 프로젝트명)/Config/

 


SourceConfigDir : 엔진이 Source leaf ini 파일을 찾기 위해 사용하는 디렉토리를 디렉토리를 반환합니다. 이것은 명백한 그느거로 .ini 변수가 될 수 없습니다.

static FString FPaths::SourceConfigDir()

결과 : ../../../../../../../../Users/(사용자명)/Desktop/General/Project/Prototype/(언리얼 프로젝트명)/Config/

 


ProjectContentDir : FApp::GetProjectName()을 보고 현재 프로젝트의 콘텐츠 디렉토리를 반환합니다.

static FString FPaths::ProjectContentDir()

결과 : ../../../../../../../../Users/(사용자명)/Desktop/General/Project/Prototype/(언리얼 프로젝트명)/Content/

 


GameDeveloperDir : 개발자 별 콘텐츠에 대한 하위 폴더가 포함된 디렉토리를 반환합니다.

static FString FPaths::GameDeveloperDir()

결과 : ../../../../../../../../Users/(사용자명)/Desktop/General/Project/Prototype/(언리얼 프로젝트명)/Content/Developers/

 


GameUserDeveloperDir : 현재 사용자에 대한 개발자별 콘텐츠가 포함된 디렉토리를 반환합니다.

static FString FPaths::GameUserDeveloperDir()

결과 : ../../../../../../../../Users/(사용자명)/Desktop/General/Project/Prototype/(언리얼 프로젝트명)/Content/Developers/(사용자명)/

 


ProjectIntermediateDir : FApp::GetProjectName()을 보고 현재 프로젝트의 Intermediate 디렉토리를 반환합니다.

static FString FPaths::ProjectIntermediateDir()

결과 : ../../../../../../../../Users/(사용자명)/Desktop/General/Project/Prototype/(언리얼 프로젝트명)/Intermediate/

 


ProjecctModsDir : FApp::GetProjectName()을 보고 현재 프로젝트의 Mods 디렉토리를 반환합니다.

static FString FPaths::ProjectModsDir()

결과 : ../../../../../../../../Users/(사용자명)/Desktop/General/Project/Prototype/(언리얼 프로젝트명)/Mods/

 


ProjectSavedDir : FApp::GetProjectName()을 보고 현재 프로젝트의 Saved 디렉토리를 반환합니다.

static FString FPaths::ProjectSavedDir()

결과 : ../../../../../../../../Users/(사용자명)/Desktop/General/Project/Prototype/(언리얼 프로젝트명)/Saved/

 


AutomationDir : Automation 파일을 저장하는 디렉토리를 반환합니다.

static FString FPaths::AutomationDir()

결과 : ../../../../../../../../Users/(사용자명)/Desktop/General/Project/Prototype/(언리얼 프로젝트명)/Saved/Automation/

 


AutomationLogDir : Automation 로그 파일의 디렉토리를 반환합니다.

static FString FPaths::AutomationLogDir()

결과 : ../../../../../../../../Users/(사용자명)/Desktop/General/Project/Prototype/(언리얼 프로젝트명)/Saved/Automation/Logs/

 


AutomationTransientDir : 실행될 때마다 삭제될 Automation 파일을 저장하는 디렉토리를 반환합니다.

static FString FPaths::AutomationTransientDir()

결과 : ../../../../../../../../Users/(사용자명)/Desktop/General/Project/Prototype/(언리얼 프로젝트명)/Saved/Automation/Transient/

 


BugItDir : 엔진이 BugIt 파일을 출력하는 데 사용하는 디렉토리를 반환합니다.

static FString FPaths::BugItDir()

결과 : ../../../../../../../../Users/(사용자명)/Desktop/General/Project/Prototype/(언리얼 프로젝트명)/Saved/BugIt/Windows/

 


GeneratedConfigDir : 엔진이 생성한 Config 파일을 저장하는 디렉토리를 반환합니다.

static FString FPaths::GeneratedConfigDir()

결과 : ../../../../../../../../Users/(사용자명)/Desktop/General/Project/Prototype/(언리얼 프로젝트명)/Saved/Config/

 


CloudDir : 클라우드 에뮬레이션 또는 지원에 사용되는 로컬 파일의 디렉토리를 반환합니다.

static FString FPaths::CloudDir()

결과 : ../../../../../../../../Users/(사용자명)/Desktop/General/Project/Prototype/(언리얼 프로젝트명)/Saved/Cloud/

 


DiffDir : Diffing에 사용되는 임시 파일의 디렉토리를 반환합니다.

static FString FPaths::DiffDir()

결과 : ../../../../../../../../Users/(사용자명)/Desktop/General/Project/Prototype/(언리얼 프로젝트명)/Saved/Diff/

 


ProjectLogDir : 엔진이 로그를 출력하기 위해 사용하는 디렉토리를 반환합니다.

static FString FPaths::ProjectLogDir()

결과 : ../../../../../../../../Users/(사용자명)/Desktop/General/Project/Prototype/(언리얼 프로젝트명)/Saved/Logs/

 


SandboxesDir : 엔진이 샌드박스 출력을 저장하는 디렉토리를 반환합니다.

static FString FPaths::SandboxesDir()

결과 : ../../../../../../../../Users/(사용자명)/Desktop/General/Project/Prototype/(언리얼 프로젝트명)/Saved/Sandboxes
이유는 모르겠지만 Sandboxes 뒤에 '/' 가 붙지 않았습니다.

샌드박스 폴더는 NoEditor 모드에서 프로그램을 실행할 때 모든 I/O 파일들이 저장되는 디렉토리입니다.

 


ScreenShotDir :엔진이 스크린샷 파일을 출력하는 데 사용하는 디렉토리를 반환합니다.

static FString FPaths::ScreenShotDir()

결과 : ../../../../../../../../Users/(사용자명)/Desktop/General/Project/Prototype/(언리얼 프로젝트명)/Saved/Screenshots/Windows/

 


ProfilingDir : 엔진이 프로파일링 파일을 출력하기 위해 사용하는 디렉토리를 반환합니다.

static FString FPaths::ProfilingDir()

결과 : ../../../../../../../../Users/(사용자명)/Desktop/General/Project/Prototype/(언리얼 프로젝트명)/Saved/Profiling/

 


VideoCaptureDir : 엔진이 사용자가 요청한 비디오 캡처 파일을 출력하는 데 사용하는 디렉토리를 반환합니다.

static FString FPaths::VideoCaptureDir()

결과 : ../../../../../../../../Users/(사용자명)/Desktop/General/Project/Prototype/(언리얼 프로젝트명)/Saved/VideoCaptures/

 


ProjectSourceDir :

static FString FPaths::ProjectSourceDir()

결과 : ../../../../../../../../Users/(사용자명)/Desktop/General/Project/Prototype/(언리얼 프로젝트명)/Source/

 


ProjectPersistentDownloadDir :

static FString FPaths::ProjectPersistentDownloadDir()

결과 : ../../../../../../../../Users/(사용자명)/Desktop/General/Project/Prototype/(언리얼 프로젝트명)/PersistentDownload
이유는 모르겠지만 '/'가 뒤에 붙지 않았습니다.

 


ProjectPluginsDir :

static FString FPaths::ProjectPluginsDir()

결과 : ../../../../../../../../Users/(사용자명)/Desktop/General/Project/Prototype/(언리얼 프로젝트명)/Plugins/

 

 

추후 추가


(추가 예정)

 

 

레퍼런스


FPaths | 언리얼 엔진
Unreal Wiki : Packaged Game Paths, Obtain Directories Based on Executable Location

 

 

히스토리


19.06.05 / 'GameSourceDir >> ProjectSourceDir' 로 고쳤습니다. (Deprecated 함수였습니다)

댓글