티스토리 뷰
언리얼에서는 경로에 대한 편리한 함수들을 제공하는 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 함수였습니다)
'개발 > Unreal Engine 4' 카테고리의 다른 글
Unreal UMG와 HUD, 그리고 Slate(Unreal UMG, HUD, and Slate) (2) | 2019.07.13 |
---|---|
언리얼 반복자(Unreal Iterator) (0) | 2019.07.04 |
런타임에서 스태틱 메시 정점 읽어오기(Get static mesh vertices in Runitme) (0) | 2019.06.10 |
언리얼 모듈 컴파일(Unreal Module Compile) (0) | 2019.06.08 |
언리얼 오브젝트(Unreal Object) - Outer (0) | 2019.06.01 |
- Total
- Today
- Yesterday
- c++ hot reload
- DXGI
- Visual Studio C1083
- 퍼포스 스트림
- visual studio hot reload
- 행렬
- C++ Compile error
- C# 익명함수
- game hot reload
- Perforce Stream
- 구글테스트
- MSVC C1083
- code copyright
- C7568
- 언리얼 엔진
- 코드 저작권
- c++ 핫 리로드
- C++
- 알고리즘
- P4 Streams
- Auto
- UE4
- GoogleTest
- visual studio 핫 리로드
- C# 람다식
- P4 Stream
- 구간합
- Perforce Streams
- C# lambda expression
- 퍼포스 개요
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |